首页 > 其他 > 详细

react生命周期

时间:2019-09-06 18:35:13      阅读:111      评论:0      收藏:0      [点我收藏+]

转自:https://segmentfault.com/a/1190000017175195

React生命周期分为了 挂载(装配) 、 更新 、 卸载 以及 捕错 四个状态阶段。每种状态里需要执行若干个生命周期函数,这些函数可能会在不同的阶段里重新被调用。

技术分享图片

1.挂载(装配)

  • constructor(),构造函数会在装配前调用。
  • static getDerivedStateFromProps(nextProps,prevState)从props得到派生的state,组件实例化后接受新属性时调用,返回一个对象以更新状态,或返回null表明不需要更新状态。
  • componentWillMount()装配前立刻调用,发生在render()之前.
  • render(),必须的钩子函数,不应该改变组件的状态,且不与浏览器交互
  • componentDidMount():组件装配后立刻调用,实现远端网络请求的地方

2.更新(属性或状态发生改变后,会触发一次更新,组件重新渲染,下述方法会被调用。

  •  componentWillReceiveProps(nextProps) / UNSAFE_componentWillReceiveProps()

            在挂载了的组件接收到新属性前调用。推荐使用getDerivedStateFromProps生命周期而不是该函数。

  •  static getDerivedStateFromProps()

  • shouldComponentUpdate() : 在挂载了的组件属性变化和状态变化时调用。通过控制返回的boolean值告诉React是否重新渲染该组件
  • componentWillUpdate() / UNSAFE_componentWillUpdate()

    当接收到新属性或状态时UNSAFE_componentWillUpdate()渲染前被立即调用,若shouldComponentUpdate()返回false,UNSAFE_componentWillUpdate()将不会被调用。

 

             componentDidUpdate()

            在更新发生后立即被调用。适合发送请求的地方

3.卸载

 

 

  •  1. componentWillUnmount()

  • componentWillUnmount()组件被卸载和销毁之前立刻调用。可以在该方法里处理任何必要的清理工作,例如解绑定时器,取消网络请求清理任何在componentDidMount环节创建的DOM元素

4.错误处理

  • 1. componentDidCatch(error, info)

          错误边界捕捉发生在子组件树中任意地方的JavaScript错误,一个错误边界并不能捕捉它自己内部的错误。

 

react生命周期

原文:https://www.cnblogs.com/aprilgirl/p/11476975.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!