React知识点整理 | 豆包MarsCode AI刷题

20 阅读2分钟

1.react中的keys的作用

keys是react来追踪哪些元素被修改添加、删除的辅助标记

2.调用setState之后发生了什么

react会将传入的参数对象和组件的当前状态合并,根据新的状态构建新的react元素树,计算react新树和老树的差异,根据差异最小化对界面进行最小化渲染

3.react生命周期

初始化阶段:
getDeaultProps(获取实例的默认props)
getInitialState(获取每个实例的初始状态)
componentWillMount(组件即将被挂载、渲染到页面上)
render(组件在这生产虚拟DOM)
componentDidMount(组件被挂载后、一般在这里调用ajax请求)

运行阶段:
componentWillReceieveProps(组件要接受到属性的时候调用)
shouldComponentUpdate( 组件接受新的状态或者新的属性的时候;返回false,接受数据不更新,反之更新数据)
componentwillUpdate(组件即将更新)
render(组件更新)
componentDidUpdate(组件已经更新)

销毁状态:
componentWillUnMount(组件即将销毁)

以上是React v16前的生命周期,下面是新的生命周期

4.React中的refs是什么?

可以通过refs访问到dom元素,并对dom元素进行操作

5.react中展示组件和容器组件有什么不同

展示组件

主要负责组件内容如何展示

从props接受父组件传递来的数据

大多数可以通过函数定义组件声明
容器组件

主要关注组件数据如何交互

拥有自身state,从服务器获取数据,或与redux等其他数据处理模块写作

通过类定义组件声明,包含生命周期函数和其他附加方法

6. 为什么建议传递给setState的参数建议是一个callback而,不是对象?

因为this.props和this.state的更新是异步的。

7.类组件和函数式组件有何不同

区别函数式组件类组件
是否有this×
是否有生命周期×
是否有state×

8.状态state和props属性的区别

state是一种数据结构,用于组件挂载时所需数据的默认值,state可读可写

props是属性的意思,是由父组件传递给子组件的,对子组件来说props不可变。
props只读,state可读可写

9.受控组件

受控组件中的value值通过state获取,同时通过onChange事件改变state中的value,有这样特性 的 组件叫受控组件,反之,非受控组件通过refs操作真实DOM

10. 调用super(props)的目的

子类没有自己的this对象,只能通过调用super(props)拿到