小白一看就会的React学习笔记 二( 组件 组件的事件 修改状态 )

113 阅读2分钟

一,组件

1. 函数组件的创建与渲染

image.png

规则:

  1. 组件的名称必须首字母大写,react内部会根据这个来判断是组件还是普通的HTML标签
  2. 函数组件必须有返回值,表示该组件的 UI 结构;如果不需要渲染任何内容,则返回 null
  3. 组件就像 HTML 标签一样可以被渲染到页面中。组件表示的是一段结构内容,对于函数组件来说,渲染的内容是函数的返回值就是对应的内容
  4. 使用函数名称作为组件标签名称,可以成对出现也可以自闭合

2. 类组件,通过class创建的

用 ES6 的 class 创建的组件 1.首先使用 import 引入React 2.class 组件名 extends React.Component 3.render 函数里面返回 ui

image.png

二 . 事件绑定

1.怎么使用事件绑定?

  • 语法
    on + 事件名称 = { 事件处理程序 } ,比如:<div onClick={ onClick }></div>
  • 注意点
    react事件采用驼峰命名法,比如:onMouseEnter、onFocus

1.1 函数里面使用事件绑定

image.png

1.2 类组件里面使用事件绑定

这个可就不一样了,使用的时候要注意this的指向

image.png

三 、事件对象 e

获取事件对象 需要这样写 , 可以用来阻止冒泡,或者阻止下一步之类的

image.png

四、如何传递自定义参数呢?

如果我们想传递自定义参数,需要在用到事件的地方改成箭头函数,然后里面放要传递的参数

image.png

如果你既想要 e 又想传递参数,这时候可以这样写

image.png

五、修改组件间的状态 (函数里面没有组件状态,所以就有了后面的 hooks)

1. 初始化状态

  • 通过class的实例属性state来初始化
  • state的值是一个对象结构,表示一个组件可以有多个数据状态

image.png

2.读取状态

  • 通过this.state来获取状态

image.png

3.修改状态 不能直接赋值

通过 this.setState({ name: 'ckk啊' })修改

image.png

四、 React的状态不可变, 其实不改变原数组或者原对象的结构就行了 ( 类组件 )

删除使用filter,遍历用map ** 不要直接修改状态的值,而是基于当前状态创建新的状态值,然后再附回去**

1.错误的修改方式

image.png 2.正确的

image.png 还有这种

image.png

删除数组的某一项

image.png