组件生命周期具有三个不同的生命周期阶段:
挂载:该组件已准备好在浏览器DOM中挂载。该阶段包括从初始化constructor(),getDerivedStateFromProps(),render(),和componentDidMount()生命周期方法。
更新:在此阶段,组件通过两种方式进行更新,即发送新道具和通过setState()或更新状态forceUpdate()。该阶段包括getDerivedStateFromProps(),shouldComponentUpdate(),render(),getSnapshotBeforeUpdate()和componentDidUpdate()生命周期方法。
卸载:在最后一个阶段,不需要该组件,并且可以从浏览器DOM中卸载该组件。此阶段包括componentWillUnmount()生命周期方法。
值得一提的是,在将更改应用于DOM时,React内部具有阶段性概念。它们分开如下
渲染组件将渲染而没有任何副作用。这适用于Pure组件,在此阶段,React可以暂停,中止或重新启动渲染。
预提交在组件实际将更改应用于DOM之前,有一段时间可以让React通过读取DOM getSnapshotBeforeUpdate()。
Commit React与DOM一起工作,并分别执行最终的生命周期componentDidMount(),componentDidUpdate()以进行安装,更新和componentWillUnmount()卸载。
React 16.3+阶段(或交互式版本)
phases 16.3+
在React 16.3之前
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。