admin 管理员组

文章数量: 887021


2024年2月29日发(作者:divorce pretty)

父子组件的生命周期执行顺序

组件的生命周期是React发者需要知晓并实践的重要知识,特别是父子组件之间的生命周期执行顺序更需要清楚的估算。特别是在性能优化的时候,熟悉父子组件之间生命周期的执行顺序,是一个非常有必要的要求。

首先,让我们回顾一下 React组件生命周期,通常包括以下几个阶段:

1.始化:组件实例化时,会自动调用 constructor数进行初始化 (如果重写 constructor,则必须调用 super());

2.载:组件挂载到页面上时,会调用 componentDidMount数;

3.新:组件内部状态发生变化时,会调用

shouldComponentUpdate数 (可以使用此函数选择性的控制是否重新渲染组件)在组件重新渲染完成后调用 componentDidUpdate数;

4.毁:组件被卸载时会调用 componentWillUnmount数。

每当一个 React素的父子组件交互时,React会以某种特定的步骤调用组件的生命周期,特别是挂载阶段和更新阶段,父子组件的生命周期执行顺序不同。

挂载:父子组件的挂载阶段,首先要执行父组件的 constructor法,然后父组件的 componentDidMount法,接着执行子组件的

constructor法,最后是子组件的 componentDidMount法。

更新:父子组件的更新阶段,首先执行父组件的

shouldComponentUpdate法,然后再执行子组件的

- 1 -

shouldComponentUpdate法,接着执行父组件的 componentDidUpdate法,最后是子组件的 componentDidUpdate法。

总结:

组件的生命周期是 React发者需要熟知的一个重要知识,特别是父子组件之间的生命周期执行顺序,这也是很多性能优化工作的重要基础。

挂载阶段,父组件先于子组件执行 constructor

componentDidMount法;更新阶段,父组件先于子组件执行

shouldComponentUpdate componentDidUpdate法。

每一个项目的 React发者都应该对组件的生命周期有一个清晰的理解,特别是在父子组件之间交互时,更是应该了解组件的生命周期执行顺序。

- 2 -


本文标签: 组件 生命周期 执行 父子