>[danger]React:react生命周期 自 React 16 版本开始,React 引入了新的生命周期 API ,其中包括了 `getDerivedStateFromProps`、`getSnapshotBeforeUpdate` 等新方法。 以下是 React 16 及以上版本中的生命周期方法列表: 1. `constructor(props)`:React 组件初始化构造函数,一般用于初始化 state 以及绑定 this。 2. `static getDerivedStateFromProps(props, state)`:该生命周期方法适用于在 props 发生改变时,根据新的 props 计算出新的 state 值。 3. `render()`:渲染组件,该方法是 React 组件必须实现的唯一一个方法。 4. `componentDidMount()`:组件挂载后调用的方法,在该方法中可以进行 DOM 操作或发起 AJAX 请求等操作。 5. `shouldComponentUpdate(nextProps, nextState)`:该方法返回值决定组件是否需要重新渲染。通过比较 nextProps 和 nextState 与当前 this.props 和 this.state 的值,确定是否需要进行重新渲染。 6. `getSnapshotBeforeUpdate(prevProps, prevState)`:该生命周期方法可以在组件更新前获取到最新的 DOM 信息(如滚动位置等),返回值会作为 componentDidUpdate 方法的第三个参数 snapshot 传递给 componentDidUpdate。 7. `componentDidUpdate(prevProps, prevState, snapshot)`:组件更新后调用的方法,在该方法中可以进行 DOM 操作或发起 AJAX 请求等操作。 8. `componentWillUnmount()`:组件即将卸载时调用的方法,在该方法中可以进行一些清理操作,例如移除事件监听器、取消 AJAX 请求等。 9. `static getDerivedStateFromError(error)`:该生命周期方法可以捕获子组件中的错误,并返回一个新的 state 对象以展示错误信息。 10. `componentDidCatch(error, info)`:该生命周期方法与 `getDerivedStateFromError` 配合使用,用于在组件内部捕获错误并处理。 总之,React 16 及以上版本中的生命周期 API 更加丰富和灵活,可以更好的控制组件的渲染过程和错误处理。(注意:React 17 版本取消了少数生命周期钩子的 UNSAFE_ 前缀)。 参考文献: [1] [React 官方文档](https://reactjs.org/docs/react-component.html)