Hi,我是赵猛,今天整理一下React学习中的一些笔记。
一、概述
- 意义:组件的生命周期有助于理解组件的运行方式、完成更复杂的组件功能、分析组件错误原因等
- 组件的生命周期:组件从被创建到挂载到页面中运行,再到组件不用时卸载的过程
- 钩子函数的作用:为开发人员在不同阶段操作组件提供了时机
二、生命周期的整体说明
![在这里插入图片描述](https://img-blog.csdnimg.cn/b3dfd16bfec74667911132d60ea79ead.png)
挂载阶段
执行时机:组件创建时(页面加载时)
执行顺序:
钩子函数 | 触发时机 | 作用 |
---|
constructor | 创建组件时,最先执行 | 1.初始化state 2.创建Ref等 |
render | 每次组件渲染都会触发 | 渲染UI(注意:不能调用setState() |
componentDidMount | 组件挂载(完成DOM渲染)后 | 1.发送网络请求 2.DOM操作 |
更新阶段
- 执行时机:1.setState() 2.forceUpdate() 3.组件接收到新的props
- 说明:以上三者任意一种变化,组件就会重新渲染
- 执行顺序
钩子函数 | 触发时机 | 作用 |
---|
render | 每次组件渲染都会触发 | 渲染UI(与挂载阶段是同一个render |
componentDidUpdate | 组件更新(完成DOM渲染)后 | DOM操作,可以获取到更新后的DOM |
卸载阶段
钩子函数 | 触发时机 | 作用 |
---|
componentWillUnmount | 组件卸载(从页面中消失) | 执行清理工作(比如:清理定时器等) |