React 16.3 之后,React 的生命周期方法经历了一些改变。以下是 React 类组件中常用的生命周期方法:
挂载阶段(Mounting):
constructor(): 构造函数,在组件被创建时调用,用于初始化 state 和绑定方法。
static getDerivedStateFromProps(): 从 props 中派生 state,在组件实例化和接收新 props 时调用。
render(): 渲染方法,返回要渲染的 React 元素。
componentDidMount(): 组件挂载后调用,通常用于发送网络请求或操作 DOM。
更新阶段(Updating):
static getDerivedStateFromProps(): 从 props 中派生 state,在接收新 props 时调用。
shouldComponentUpdate(): 决定是否重新渲染组件,在接收新 props 或 state 时调用。
render(): 渲染方法,返回要渲染的 React 元素。
getSnapshotBeforeUpdate(): 在更新 DOM 之前获取 DOM 信息,在更新之前调用。
componentDidUpdate(): 组件更新后调用,通常用于更新 DOM 或执行其他副作用。
卸载阶段(Unmounting):
componentWillUnmount(): 组件卸载前调用,通常用于清理定时器或取消网络请求。
错误处理阶段(Error Handling):
static getDerivedStateFromError(): 在子组件抛出错误时调用,用于更新 state 以渲染备用 UI。
componentDidCatch(): 在子组件抛出错误后调用,用于记录错误信息或发送错误报告。
需要注意的是,React 17 中已经废弃了一些生命周期方法,如 componentWillMount、componentWillReceiveProps 等。建议在开发时使用新的生命周期方法,以确保代码的兼容性和可维护性。