React 生命周期

React定义了组件的生命周期会经历如下三个过程:

  • 装载过程(Mount),组件第一次在DOM树渲染的过程。
  • 更新过程(Update),当组件被重新渲染的过程。
  • 卸载过程(Unmount),组件重DOM树中删除的过程。

执行这3个过程的调用函数就是声明周期函数。

装载过程(MOUNT)

该过程会依次调用如下函数:

  • constructor():ES6类的构造函数(为了初始化state或绑定this
  • getInitialState():ES5中初始化state
  • getDefaultProps():ES5中初始化props。在ES6中使用defaultProps()方法。
  • componentWillMount():在组件被挂载前调用。只执行一次。
  • render():渲染组件,必须实现该方法。
  • componentDidMount():在组件装载后调用。这时已经生成了真实的DOM节点。只执行一次。

更新过程(update)

当组件的props或者state改变时就会触发组件的更新过程。

更新过程会依次执行如下函数:

  • componentWillReceiveProps(nextProps):当父组件的render()方法执行后就会触发该方法。初始化时不调用。
  • shouldComponentUpdate(nextProps,nextState):当props改变或state改变时调用,初始化时不掉用,返回booleantrue表示继续执行render方法,fasle表示放弃本次渲染。
  • render():渲染组件。

卸载过程

componentWillUnmount():将组件从DOM树移出,防止内存溢出。

 

posted @ 2018-02-24 14:37  蓝眼睛~~  阅读(174)  评论(0编辑  收藏  举报