文章目录
一、生命周期概念:
- 生命周期:简单来说就是一个事物从出生到消亡的过程就是生命周期,在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 | 组件卸载(从页面中消失) | 执行清理工作(比如:清理定时器等、解绑事件等) |