当组件实例被创建并插入 DOM 中时,其生命周期调用顺序如下:
constructor():组件挂载之前,初始化props、state
static getDerivedStateFromProps():render之前调用,返回null或对象更新state
render():dom渲染时
componentDidMount():组件挂载到页面之后,可以添加订阅
当组件的 props 或 state 发生变化时会触发更新。组件更新的生命周期调用顺序如下:
static getDerivedStateFromProps()
shouldComponentUpdate():组件是否需要更新,返回boolean类型,返回false不会执行render
render():dom渲染时
getSnapshotBeforeUpdate():渲染完成之前,捕获dom信息
componentDidUpdate():组件更新完成后
当组件从 DOM 中移除时会调用如下方法:
componentWillUnmount():组件销毁之前调用,可以取消订阅