React16新生命周期变化与Fiber的关系

492 阅读1分钟

来自http://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/ 被废弃的三个生命周期函数采用getDerivedStateFromProps替代,目前使用的话加上UNSAFE_:
  • componentWillMount
  • componentWillReveiveProps
  • componentWillUpdate

引入两个新的生命周期函数:

  • static getDerivedStateFromProps
  • getSnapshotBeforeUpdate

如果不想手动给将要废弃的生命周期添加UNSAFE_前缀,可以使用下面的命令。
npx react-codenod rename-unsafe-lifecycles <path>

不难看出,新的生命周期将will进行了更换,这是因为Fiber的设计,从源码可以看出Fiber可以中断任务,组件可能会被多次更新,之前的生命周期就不再符合Fiber的设计前提,将声明周期简单化。有时间详细写一下Fiber.