生命周期一般为挂载阶段,渲染/更新,卸载,还有错误处理
挂载
当组件实例被创建并插入 DOM 中时,其生命周期调用顺序如下:
constructor() (构造函数)
getDerivedStateFromProps()
componentWillMount()(弃用)
render()
componentDidMount() (在组件挂载后(插入 DOM 树中)立即调用。依赖于 DOM 节点的初始化应该放在这里。如需通过网络请求获取数据,此处是实例化请求的好地方)
更新
当组件的 props 或 state 发生变化时会触发更新。组件更新的生命周期调用顺序如下:
getDerivedStateFromProps()
componentWillUpdate (弃用)
componentWillReceiveProps() (弃用)
shouldComponentUpdate() (如果你知道在什么情况下你的组件不需要更新,你可以在 shouldComponentUpdate 中返回 false 来跳过整个渲染过程 ,从而做到性能优化)
render()
getSnapshotBeforeUpdate()
componentDidUpdate()
卸载
当组件从 DOM 中移除时会调用如下方法:
componentWillUnmount()
错误处理
当渲染过程,生命周期,或子组件的构造函数中抛出错误时,会调用如下方法
网友评论