美文网首页
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