1. React类组件的生命周期(React版本为16之后)
类组件的生命周期包括挂载时、更新时、卸载时
1.1. 生命周期-挂载时
挂载时的执行顺序为:
示例如下:
输出为:
| 钩子函数 | 触发时机 | 作用 |
|---|---|---|
| constructor | 创建组件时,最先执行初始化的时候执行一次 | 1. 初始化state 2.创建Ref 3.使用bind解决this指向问题 |
| render | 每次组件渲染都会触发 | 渲染UI(注意不能在里面调用setState,否则会导致恶性循环) |
| componentDidMount | 组件挂载(完成DOM渲染)后执行,初始化的时候执行一次 | 1. 发送网络请求(类似Vue中的mounted) 2.DOM操作 |
1.2. 生命周期-更新阶段
执行顺序为
| 钩子函数 | 触发时机 | 作用 |
|---|---|---|
| render | 每次组件渲染都会触发 | 渲染UI(与挂载阶段是同一个render) |
| componentDidUpdate | 组件更新后(DOM渲染完毕) | DOM操作,可以获取到更新后的DOM内容,不要直接调用setState |
1.3 生命周期-卸载阶段
卸载阶段执行的钩子函数是componentWillUnmount
| 钩子函数 | 触发时机 | 作用 |
|---|---|---|
| componentWillUnmount | 组件卸载(从页面中消失) | 执行清理工作(清理定时器等) |