react的组件从挂载(实例化)到更新最后到卸载,这么个过程有一些相应的变化,而这些变化,在所有的组件中,都是同样存在的,于是生命周期便是描述这个一个过程。

整个过程可以根据react的状态大致分为三个时期:实例化(初始化或挂载期)、存在期(更新期)和销毁期(卸载期)。

1、实例化

getDefaultProps         ->   该方法只会执行一次,返回值用于设置默认props
getInitialStatus        ->   有且只有一次,初始化state
componentWillMount      ->   首次渲染之前调,是调render之前修改state最后机会
render                  ->   唯一的必需方法,创建虚拟dom,
componentDidMount       ->   调用时,已渲染出真是dom,可获取dom节点,服务端渲染不被调用

2、存在期

componentWillReceiveProps   ->  通过父组件改变prop,将被调用
shouldComponentUpdate       ->  判断组件是否重新渲染,props, state比较返回truefalse
componentWillUpdate         ->  组件接受新的state或props会别调用,但不要在此更新state或props
render                      ->
componentDidUpdate          ->  组件重新渲染后调用,可获取dom

3、销毁期

componentWillUnmount        ->  组件使用完

上面生命周期安顺利来执行,有一次性调用,也有多次调用,其中componentWillMount和componentDidMount,componentWillUpdate和componentDidUpdate成对存在,具有相似的共性,render只能访问state或props,只能出现一个顶级组件,不能修改组建状态以及dom输出,可返回null,false或组件。