react生命周期函数

  1. constructor:初始化state和方法绑定,使用this.statestate赋值

  2. getDerivedStateFromProps() | UNSAFE_componentWillMount()(即将被废弃):会在调用 render 方法之前调用,并且在初始挂载及后续更新时都会被调用。它应返回一个对象来更新 state,如果返回 null 则不更新任何内容。

  3. render():渲染组件(如果shouldComponentUpdate()返回false,则不会调用render()

  4. componentDidMount():执行网络请求获取数据,添加订阅

更新:(当state改变之后引发修改UI,通过的生命周期函数)

  1. getDerivedStateFromProps() | UNSAFE_componentWillReceiveProps(即将被废弃) 组件接收到新props调用

  2. shouldComponentUpdate:当组件接收到新属性,或者组件的状态发生改变时触发。组件首次渲染时并不会触发,性能优化

  3. getSnapshotBeforeUpdate() :返回值将作为componentDidUpdate()的第三个参数 “snapshot”参数传递。否则此参数将为undefinedUNSAFE_componentWillUpdate()(即将被废弃):组件更新调用,可以修改state值

  4. comonentDidUpdate:执行网络请求,当props未改变则不会触发该函数,也就不会发送网络请求(当shouldComponentUpdate()返回false,则不会调用componentDidUpdate()

销毁

  1. componentWillUnmount():组件卸载及销毁之前调用(取消订阅,清楚定时器,取消网络请求)

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190810153757213.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pob25ncXdfMDA=,size_16 《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】 ,color_FFFFFF,t_70)

[](()2.不常用的生命周期函数

静态方法和实例方法

静态方法:直接挂载在class类上,或者使用新的关键字static,实例无法直接访问该方法。

实例方法:挂载在this上或者挂载在prototype上,class类不能直接访问该方法,使用new关键字实例化之后,实例可以访问该方法。

  • shouldComponentUpdate():为性能优化存在

  • static getDerivedStateFromProps():返回一个对象来更新 state,如果返回 null 则不更新任何内容。

  • getSnapshotBeforeUpdate():会在组件即将挂载时调用。用途:有一些状态,比如网页滚动位置,我不需要它持久化,只需要在组件更新以后能够恢复原来的位置即可。

[](()3.捕获错误的生命周期函数

  • static getDerivedStateFromError():在后代组件抛出错误后被调用。 它将抛出的错误作为参数,并返回一个值以更新 state
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老猿辅导

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值