组件生命周期有三个不同的生命周期阶段:
constructor()
, getDerivedStateFromProps()
, render()
, 和 componentDidMount()
生命周期方法中的初始化过程。setState()
或 forceUpdate()
方法更新状态. 此阶段包含 getDerivedStateFromProps()
, shouldComponentUpdate()
, render()
, getSnapshotBeforeUpdate()
和 componentDidUpdate()
生命周期方法。componentWillUnmount()
生命周期方法。值得一提的是,在将更改应用到 DOM 时,React 内部也有阶段概念。它们按如下方式分隔开:
getSnapshotBeforeUpdate()
捕获一些 DOM 信息(例如滚动位置)。componentDidMount()
在 DOM 渲染完成后调用, componentDidUpdate()
在组件更新时调用, componentWillUnmount()
在组件卸载时调用。React 16.3+ 阶段 (也可以看交互式版本)React 16.3 之前