react 的生命周期及其使用场景

338 阅读1分钟

一、react的生命周期

image.png

constructor
1、用于初始化内部状态,很少使用
2、唯一可以直接修改state的地方

getDerivedStateFromProps
1、当state需要从props初始化时使用,就是从props里面导出state
2、尽量不要使用:维护两者状态一致性会增加复杂度
3、每次render都会调用
4、典型场景:表单控件获取默认值

componentDidMount
1、UI渲染完成后调用
2、只执行一次
3、典型场景:获取外部资源

componentWillUnmount
1、组价移除时被调用
2、典型场景:资源释放,在此组件完成组件的卸载和数据的销毁,移出所有的监听

getSnapshotBeforeUpdate
1、在页面render之前调用,state已更新
2、典型场景:获取render之前的DOM状态

componentDidUpdate
1、每次UI更新时被调用
2、典型场景:页面需要根据props变化重新获取数据

shouldComponentUpdate
1、决定Virtual DOM是否要重绘
2、一般可以有PrueComponent 自动实现
3、典型场景:性能优化
4、可以通过这个方法控制组件是否重新渲染。如果返回 false 组件就不会重新渲染