6-2、react的生命周期

  1. 创建到销毁整个过程,被称之为生命周期
  2. 生命周期(抽象概念)和生命周期函数的关系
  3. 生命周期是一个抽象概念,在整个过程中分为很多阶段:
    • 例如装载阶段(Mount),组件第一次在DOM树中被渲染的过程
    • 例如更新过程(Update),组件状态发生变化,重新更新渲染的过程
    • 例如卸载过程(Unmount),组件从DOM树中被移除的过程
  4. React为了告诉我们当前处于哪些阶段,会对组件内部实现的某些函数进行回调,这些函数就是生命周期函数:
    • 例如实现componentDidMount函数,组件已经挂载到DOM上时就会回调
    • 例如实现componentDidUpdate函数,组件发生更新时回调
    • 例如componentWillUnmount函数,组件即将被移除时回调
  • 我们可在这些回调函数中缩写自己的逻辑代码,来满足自己的需求功能
  • React生命周期时,主要谈的是类的生命周期,因为函数式组件是没有生命周期函数的(可通过hooks来模拟一些生命周期的回调)
    在这里插入图片描述

生命周期函数:

  1. Constructor
    • 如果不初始化state或不进行方法绑定,则不需要为React组件实现构造函数
    • constructor通常只做两件事
      • 通过this.state赋值对象初始化内部的state
      • 为实践绑定实例(this)
  2. ComponentDidMount
    • ComponentDidMount() 会在组件挂载后(插入DOM树中)立即调用
    • ComponentDidMount通常进行哪些操作:
      • 依赖于DOM的操作可以在这进行
      • 在此处发送网络请求是最好的地方(官方建议)
      • 可以在此处添加一些订阅(会在componentWillUnmount取消订阅)
  3. ComponentDidUpdate
    • componentDidUpdate() 会在更新后被立即调用,首次渲染不会执行此方法
    • 当组件更新后,可以在此处对DOM进行操作
    • 如果你对更新前后的props进行了比较,也可以选择在此处进行网络请求(例如:当props未发生变化时,则不会执行网络请求)
  4. ComponentWillUnmont
    • ComponentWillUnmount() 会在组件卸载及销毁之前直接调用
    • 执行此方法中执行必要的清理操作
    • 例如,清除timer,取消网络请求或清除在componentDidMount() 中创建的订阅等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值