一,组件
1. 函数组件的创建与渲染
规则:
- 组件的名称必须首字母大写,react内部会根据这个来判断是组件还是普通的HTML标签
- 函数组件必须有返回值,表示该组件的 UI 结构;如果不需要渲染任何内容,则返回 null
- 组件就像 HTML 标签一样可以被渲染到页面中。组件表示的是一段结构内容,对于函数组件来说,渲染的内容是函数的返回值就是对应的内容
- 使用函数名称作为组件标签名称,可以成对出现也可以自闭合
2. 类组件,通过class创建的
用 ES6 的 class 创建的组件 1.首先使用 import 引入React 2.class 组件名 extends React.Component 3.render 函数里面返回 ui
二 . 事件绑定
1.怎么使用事件绑定?
- 语法
on + 事件名称 = { 事件处理程序 } ,比如:<div onClick={ onClick }></div> - 注意点
react事件采用驼峰命名法,比如:onMouseEnter、onFocus
1.1 函数里面使用事件绑定
1.2 类组件里面使用事件绑定
这个可就不一样了,使用的时候要注意this的指向
三 、事件对象 e
获取事件对象 需要这样写 , 可以用来阻止冒泡,或者阻止下一步之类的
四、如何传递自定义参数呢?
如果我们想传递自定义参数,需要在用到事件的地方改成箭头函数,然后里面放要传递的参数
如果你既想要 e 又想传递参数,这时候可以这样写
五、修改组件间的状态 (函数里面没有组件状态,所以就有了后面的 hooks)
1. 初始化状态
- 通过class的实例属性state来初始化
- state的值是一个对象结构,表示一个组件可以有多个数据状态
2.读取状态
- 通过this.state来获取状态
3.修改状态 不能直接赋值
通过 this.setState({ name: 'ckk啊' })修改
四、 React的状态不可变, 其实不改变原数组或者原对象的结构就行了 ( 类组件 )
删除使用filter,遍历用map ** 不要直接修改状态的值,而是基于当前状态创建新的状态值,然后再附回去**
1.错误的修改方式
2.正确的
还有这种
删除数组的某一项