美文网首页
Component Llifestyle Methods

Component Llifestyle Methods

作者: 元气满满321 | 来源:发表于2017-08-17 09:45 被阅读15次

    前言

    就像人的一生,人的一生会经历出生,为世界作出变化,直到生命结束三大阶段。React Component 也有生命周期,分为三大阶段:

    • Mounting
    • Receive_Props
    • Unmounting

    Mounting阶段就像人的出生阶段,刚有了生命力;Receive_Props进入了为世界更改阶段;Unmounting代表组件的生命结束,要被Unmounting(removed)

    具体看每个阶段会调用哪些生命周期函数


    Mounting

    1.getInitialState

    为组件实例初始化state

    2.componentWillMount:

    在render(mounts)成虚拟DOM之前发生,所以更新state在这不会触发re-render

    3.render

    render组件为虚拟DOM. 如果shouldComponentUpdate返回false,那么render()将不调用

    4.componentDidMount

    完成render之后立即调用, 若你需要从远端加载数据,这是一个适合实现网络请求的地方。在该方法里设置状态将会触发重新渲染

    目前组件Mounted,等待下一步触发事件引起改变

    Receive_Props

    1.componentWillReceiveProps:

    发生在组件接收到receive props前

    2.shouldComponentUpdate:

    决定组件要不要更新,返回true代表组建应该render,返回false代表阻止组件render

    3.componentWillUpdate:

    这个方法和 componentWillMount 类似,在组件接收到了新的 props 或者 state 即将进行重新渲染前,componentWillUpdate(object nextProps, object nextState) 会被调用,注意不要在此方面里再去更新 props 或者 state。

    4.render:render

    组件为虚拟DOM

    5.componentDidUpdate:

    这个方法和 componentDidMount 类似,在组件重新被渲染之后,componentDidUpdate(object prevProps, object prevState) 会被调用。可以在这里访问并修改 DOM。

    Unmounting

    1.componentWillUnmount:

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

    好了,先看到这里

    引入生命周期函数的好处

    由于生命周期规定了 -> 组件的状态和方法在何时可以被改变 -> 通过管理状态来管理组件

    参考链接
    Component Llifestyle Methods --- demo
    demo代码讲解
    http://blog.csdn.net/mpdemp/article/details/74923332

    每天都努力一点点
    谢谢你看完


    相关文章

      网友评论

          本文标题:Component Llifestyle Methods

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