React 笔记之生命周期篇(旧版)
react的组件从挂载(实例化)到更新最后到卸载,这么个过程有一些相应的变化,而这些变化,在所有的组件中,都是同样存在的,于是生命周期便是描述这个一个过程。
整个过程可以根据react的状态大致分为三个时期:实例化(初始化或挂载期)、存在期(更新期)和销毁期(卸载期)。
1、实例化
getDefaultProps -> 该方法只会执行一次,返回值用于设置默认props
getInitialStatus -> 有且只有一次,初始化state
componentWillMount -> 首次渲染之前调,是调render之前修改state最后机会
render -> 唯一的必需方法,创建虚拟dom,
componentDidMount -> 调用时,已渲染出真是dom,可获取dom节点,服务端渲染不被调用
2、存在期
componentWillReceiveProps -> 通过父组件改变prop,将被调用
shouldComponentUpdate -> 判断组件是否重新渲染,props, state比较返回true或false
componentWillUpdate -> 组件接受新的state或props会别调用,但不要在此更新state或props
render ->
componentDidUpdate -> 组件重新渲染后调用,可获取dom
3、销毁期
componentWillUnmount -> 组件使用完
上面生命周期安顺利来执行,有一次性调用,也有多次调用,其中componentWillMount和componentDidMount,componentWillUpdate和componentDidUpdate成对存在,具有相似的共性,render只能访问state或props,只能出现一个顶级组件,不能修改组建状态以及dom输出,可返回null,false或组件。