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