为了更好的支持异步渲染(Async Rendering),解决一些生命周期滥用可能导致的问题,React 从 V16.3 开始,
对生命周期进行渐进式调整,还对生命周期加入了错误处理。
React 16.3
新增的生命周期方法
1. static getDerivedStateFromProps()
2. getSnapshotBeforeUpdate()
3. componentDidCatch()
逐渐废弃的生命周期方法:
1. componentWillMount()
2. componentWillReceiveProps()
3. componentWillUpdate()
调整前的生命周期:

图中被红框圈起来的三个生命周期函数就是在新版本中即将被移除的,在这三个生命周期函数中都可以去做一些诸如发送请求,setState
等包含副作用的事情。在老版本的
React
中,这样做也许只会带来一些性能上的损耗,但在React 开启异步渲染模式之后,就无法再接受这样的副作用产生了。
调整后的生命周期