icodingicoding
主页
JavaScript
Vue
React
TypeScript
Node
bug
笔记
时间线
主页
JavaScript
Vue
React
TypeScript
Node
bug
笔记
时间线
  • 基础

    • React 概述
    • react 组件
  • 进阶

    • 学习目标
    • 组件的生命周期
    • setState
    • 单页应用程序

组件的生命周期

概述

  • 意义:组件的生命周期有助于理解组件的运行方式、完成更复杂的组件功能、分析组件错误原因等
  • 组件的生命周期:组件从被创建到挂载到页面中运行,再到组件不用时卸载的过程
  • 钩子函数的作用:为开发人员在不同阶段操作组件提供了时机。
  • 只有 类组件 才有生命周期。

生命周期的整体说明

  • 每个阶段的执行时机
  • 每个阶段钩子函数的执行顺序
  • 每个阶段钩子函数的作用
  • http://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/

组件生命周期

挂载阶段

执行时机:组件创建时(页面加载时)

执行顺序:

组件的执行顺序

钩子 函数触发时机作用
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 内容,不要调用 setState

卸载阶段

  • 执行时机:组件从页面中消失
钩子函数触发时机作用
componentWillUnmount组件卸载(从页面中消失)执行清理工作(比如:清理定时器等)

todomvc 案例优化

最后编辑:
上一页
学习目标
下一页
setState