文章目录
- 一、生命周期概念:
- 二、生命周期:
- 三、挂载阶段(constructor => render => componentDidMount):
- 四、更新阶段(render => componentDidUpdate):
- 五、卸载阶段(componentWillUnmount ):
 
 
 
一、生命周期概念:
- 生命周期:简单来说就是一个事物从出生到消亡的过程就是生命周期,在React中的生命周期,就是组件从创建、挂载到页面再到卸载组件的过程。
- 意义:生命周期有助于理解组件运行方式、完成复杂组件功能、分析组件中间问题产生的原因等。
- 生命周期钩子函数:为开发人员在不同阶段操作提供时机
二、生命周期:

三、挂载阶段(constructor => render => componentDidMount):
挂载阶段生命周期钩子函数有三个,执行顺序是
constructor => render => componentDidMount
| 钩子函数 | 触发时机 | 作用 | 
|---|---|---|
| constructor | 创建组件时,最先执行 | 1. 初始化 state 2. 创建 Ref 等 | 
| render | 每次组件渲染都会触发 | 渲染 UI(注意: 不能调用 setState() ) | 
| componentDidMount | 组件挂载(完成 DOM 渲染)后 | 1. 发送网络请求 2.DOM 操作 | 
四、更新阶段(render => componentDidUpdate):
更新阶段常用的生命周期函数有 2 个,执行顺序是
render => componentDidUpdate
触发更新:setState()、forceUpdate()、New props(父组件进行了 render)
| 钩子函数 | 触发时机 | 作用 | 
|---|---|---|
| render | 每次组件渲染都会触发 | 渲染 UI(与挂载阶段是同一个 render) | 
| componentDidUpdate | 组件更新(完成 DOM 渲染)后 | DOM 操作,可以获取到更新后的 DOM 内容,不要调用 setState | 
五、卸载阶段(componentWillUnmount ):
触发时机:组件从页面中消失。
ReactDOM.unmountComponentAtNode(document.getElementById(‘root’))
| 钩子函数 | 触发时机 | 作用 | 
|---|---|---|
| componentWillUnmount | 组件卸载(从页面中消失) | 执行清理工作(比如:清理定时器等、解绑事件等) |