返回
React组件的生命周期及执行顺序:从入门到精通
前端
2024-01-31 15:57:55
React组件的生命周期是指组件从创建到销毁所经历的各个阶段,包括:
- 挂载(Mounting)
- 更新(Updating)
- 卸载(Unmounting)
挂载(Mounting)
挂载阶段是组件被创建和插入到DOM中的过程。在这个阶段,组件会经历以下几个生命周期方法:
- constructor() :构造函数在组件创建时被调用,主要用于初始化组件状态和绑定事件处理程序。
- getDerivedStateFromProps() :该方法在组件接收到新的props时被调用,可以根据新的props更新组件状态。
- render() :渲染方法用于生成组件的虚拟DOM表示。
- componentDidMount() :组件挂载到DOM之后被调用,常用于执行一些与DOM相关的操作,例如获取DOM元素的引用或执行AJAX请求。
更新(Updating)
当组件的状态或props发生改变时,组件会进入更新阶段。在这个阶段,组件会经历以下几个生命周期方法:
- shouldComponentUpdate() :该方法在组件接收到新的props或状态时被调用,可以决定是否需要更新组件。
- getDerivedStateFromProps() :该方法在组件接收到新的props时被调用,可以根据新的props更新组件状态。
- render() :渲染方法用于生成组件的虚拟DOM表示。
- componentDidUpdate() :组件更新之后被调用,常用于执行一些与DOM相关的操作,例如更新DOM元素的样式或内容。
卸载(Unmounting)
当组件从DOM中被移除时,组件会进入卸载阶段。在这个阶段,组件会经历以下几个生命周期方法:
- componentWillUnmount() :该方法在组件从DOM中被移除之前被调用,常用于执行一些清理工作,例如取消事件监听器或释放资源。
生命周期执行顺序
React组件的生命周期方法按照一定的顺序执行,如下所示:
- constructor()
- getDerivedStateFromProps()
- render()
- componentDidMount()
- shouldComponentUpdate()
- getDerivedStateFromProps()
- render()
- componentDidUpdate()
- componentWillUnmount()
请注意,并不是所有的生命周期方法都会在每个组件中被使用。例如,如果组件的状态或props没有改变,则不会调用shouldComponentUpdate()和componentDidUpdate()方法。