–>
<!– 使用create–react-app快速搭建开发环境
create–react-app是一个快速创建React开发1环境的工具,底层由Webpack构建,封装了配置细节,开箱即用
npx create–react-app react-basic
2.creat-react-app 核心包(固定写法),用于创建React项目
3.react-basic React项目的名称(可以自定义)
“react”: “^18.2.0”,
“react-dom“: “^18.2.0”,
核心命令是:
“start“: “react-scripts start“,
“build“: “react-scripts build“,
刚开始学习建议先把src里的文件清理,只需保留app.js和index.js
–>
<!–
概念:一个组件就是用户界面的一部分,它可以由自己的逻辑外观,组件之间可以相互嵌套,也可以复用多次
在React中,一个组件就是首字母大写的函数,内部存放了组件的逻辑和视图UI,渲染组件只需要把组件当成标签书写即可(在App内)
// 1. 定义组件
return <button>click me!</button>
}
return <button>click me!</button>
}
function App() {
return (
{/* 自闭和(单标签) */}
<Button />
{/* 成对标签 */}
<Button></Button>
</div>
)
}
–>
<!– useState是一个React Hook(函数),它允许我们向组件添加一个状态变量,从而控制影响组件的渲染结果
本质:和普通JS变量不同的是,状态变量一旦发生变化,组件的视图UI也会跟着变化(数据驱动视图)
const [count,setCount] = useState(0)
2.数组中的第一个参数是状态变量,第二个参数是set函数用来修改状态变量
import { useState } from ‘react’
//引入useState
// const是不能改变值,但现在是复杂数据类型,修改的是引入地址里面的值,不是修改了引入地址
function App () {
// count 状态变量
const [count, setCount] = useState(0)
// 作用:
setCount(count + 1)
}
return (
<div>
<button onClick={handleClick}>{count}</button>
</div>
)
}
–>
useState修改规则
<!– 在React中,状态被认为是只读,我们应该始终替换它而不是修改它,直接修改状态不能引发视图更新
function App () {
let [count, setCount] = useState(0)
// count++
setCount(count + 1)
}
return (
<div>
<button onClick={handleClick}>{count}</button>
)
–>
<!– 修改对象状态
规则:对于对象类型的状态变量,应该始终传给set方法一个全新的对象来进行修改
const [form, setForm] = useState({ name: ‘jack’ })
// 正确写法:setFrom 传入一个全新的对象(新值替换老值)
setForm({
…form,
name: ‘john’
})
}
return (
<button onClick={changeForm}>修改form{form.name}</button>
)
–>
组件基础样式方案
<!–
const style = {
}
function App () {
return (
<div>
<span style={style}>this is span</span>
{/* <span style={color: ‘red‘,fontSize: ’50px‘}>this is span</span> */}
{/* 这样写也行 */}
<span className=”foo“>this is class foo</span>
{/* className是规定好的名字,不能用class */}
</div>
)
}
–>
</body>
</html>
原文地址:https://blog.csdn.net/m0_59745705/article/details/134635236
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_14503.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!