react 生命周期

在这里插入图片描述

(16.3.0)
  1. 创建阶段
    • constructor
    • static getDerivedStateFromProps(nextProps,prevState){return{}} 用static关键字,监听props变化,更新state状态,必须return一个对象或null,返回对象,会通过setState更新组件,返回null不会更新
    • render 返回一个虚拟dom
    • componentDidMount 可以操作dom
  2. 变化阶段
    • shouldComponentUpdate
    • render
    • getSnapshotBeforeUpdate(prevProps,prevState){return{}} Snapshot快照,return一个对象或null,返回值作为componentDidUpdate的第三个参数存在,需要配合componentDidUpdate一起使用
    • componentDidUpdate(prevProps,prevState,value){}
  3. 卸载
    • componentWillUnmount
(16.2.0)

在这里插入图片描述
可以说有 10 个生命周期,分三个阶段

  1. 创建阶段 —— 实例化阶段,除了 render 生命周期外,其它生命周期只执行一次
    • constructor 初始化,接收props,设置默认状态state
    • componentWillMount 组件将要被渲染,最后一次可以修改 state 的机会
    • render 组件正在被渲染,进行diff算法,产生最小化差异
    • componentDidMount 组件渲染结束,请求数据,第一次获取到真实的dom
  2. 变化阶段 —— 存在期
    • componentWillReceiveProps props发生变化
    • shouldComponentUpdate state发生变化,用来确定组件是否更新,性能优化
    • componentWillUpdate 更新前
    • render 更新
    • componentDidUpdate 更新后
  3. 卸载阶段 —— 销毁,清理
    • componentWillUnmount 组件将卸载,清理组件垃圾
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值