生命周期概念
- 生命周期:简单来说就是一个事物从出生到消亡的过程就是生命周期,在React中的生命周期,就是组件从创建、挂载到页面再到卸载组件的过程。
- 意义:生命周期有助于理解组件运行方式、完成复杂组件功能、分析组件中间问题产生的原因等。
- 生命周期钩子函数:为开发人员在不同阶段操作提供时机
生命周期
挂载阶段
- 挂载阶段生命周期钩子函数有三个,执行顺序是
constructor
=> render
=> componentDidMount
钩子函数 |
触发时机 |
作用 |
constructor |
创建组件时,最先执行 |
1. 初始化 state 2. 创建 Ref 等 |
render |
每次组件渲染都会触发 |
渲染 UI(注意: 不能调用 setState() ) |
componentDidMount |
组件挂载(完成 DOM 渲染)后 |
1. 发送网络请求 2.DOM 操作 |
更新阶段
- 更新阶段常用的生命周期函数有 2 个,执行顺序是 render => componentDidUpdate。
- 触发更新:
setState()
、forceUpdate()
、New props
(父组件进行了 render)。
钩子函数 |
触发时机 |
作用 |
render |
每次组件渲染都会触发 |
渲染 UI(与挂载阶段是同一个 render) |
componentDidUpdate |
组件更新(完成 DOM 渲染)后 |
DOM 操作,可以获取到更新后的 DOM 内容,不要调用 setState |
## 卸载阶段 |
|
|
- 触发时机:组件从页面中消失。
ReactDOM.unmountComponentAtNode(document.getElementById('root'))
钩子函数 |
触发时机 |
作用 |
componentWillUnmount |
组件卸载(从页面中消失) |
执行清理工作(比如:清理定时器等、解绑事件等) |
总结
生命周期、钩子函数使我们必须要了解的,是非常重要的,对于函数的执行机制掌握,不论是对于开发还是学习都是我们必须掌握的