美文网首页
ReactNative组件的生命周期

ReactNative组件的生命周期

作者: 王灵 | 来源:发表于2018-04-11 11:52 被阅读0次

一、生命周期

组件的生命走起主要由3个部分组成:挂载、更新、移除
·挂载:组件被插入到DOM中。
·更新:组件被重新渲染,检查DOM是否应该刷新。
·移除:组件从DOM中移除。

a.挂载(初始化)

挂载又称为初始化,从调用getDefaultProps()开始到componentDidMount()结束。

  • getInitialState()
    在组件被挂载之前调用,状态化组件需要实现此方法,并返回初始的状态。
  • componentWillMount()
    在挂载发生之前立即被调用。
  • componentDidMount()
    在挂载结束之后马上被调用,需要DOM节点的初始化操作调用此方法

b.更新(运行)

当组件初始化完成之后,程序就开始正常运行起来,此时程序处于运行状态,在这个阶段涉及的常见方法如下;

  • componentWillReceiveProps(object nextProps)
    当一个挂载的组件接收到新的props时被调用,比较this.props和nextProps,然后使用this.setState来改变状态
  • shouldComponentUpdate(object nextProps,object nextState)
    当组件需要更新DOM时被调用。比较this.state和nextState确定是否需要跟新DOM,如果不需要更新则返回false
  • componentWillUpdata(object nextProps,object nextState)
    在更新发生之前调用
  • componentDidUpdata(object nextProps,object nextState)
    在跟新发生之后调用

c.移除(销毁)

移除阶段又称为销毁阶段,碰到以下情况会触发组件的移除操作:系统遇到错误崩溃、用户主动退出、系统内存不足等。移除阶段涉及的常见方法如下。

  • componentWillUnmount()
    在组件移除和销毁之前被调用。如果需要清理某些数据,可以调用此方法。
  • getDOMNode
    DOM节点可以在任何挂载的组件上调用,用于获取一个指向它的DOM节点的引用。
    forceUpdata()
    在一些嵌套很深的组件的状态已经改变的时候,可以通过此方法调用,而不是调用this.setState()。
20180411140113.jpg

相关文章

网友评论

      本文标题:ReactNative组件的生命周期

      本文链接:https://www.haomeiwen.com/subject/sxdahftx.html