首次实例化segmentfault
实例化完成后的更新数组
组件已存在时的状态改变优化
生命周期共提供了10个不一样的API。this
做用于组件类,只调用一次,返回对象用于设置默认的props
,对于引用值,会在实例中共享。code
做用于组件的实例,在实例建立时调用一次,用于初始化每一个实例的state
,此时能够访问this.props
。component
在完成首次渲染以前调用,此时仍能够修改组件的state。对象
必选的方法,建立虚拟DOM,该方法具备特殊的规则:生命周期
this.props
和this.state
访问数据null
、false
或任何React组件真实的DOM被渲染出来后调用,在该方法中可经过this.getDOMNode()
访问到真实的DOM元素。此时已可使用其余类库来操做这个DOM。事件
在服务端中,该方法不会被调用。get
组件接收到新的props
时调用,并将其做为参数nextProps
使用,此时能够更改组件props
及state
。
componentWillReceiveProps: function(nextProps) { if (nextProps.bool) { this.setState({ bool: true }); } }
组件是否应当渲染新的props
或state
,返回false
表示跳事后续的生命周期方法,一般不须要使用以免出现bug。在出现应用的瓶颈时,可经过该方法进行适当的优化。
在首次渲染期间或者调用了forceUpdate
方法后,该方法不会被调用
接收到新的props
或者state
后,进行渲染以前调用,此时不容许更新props
或state
。
完成渲染新的props
或者state
后调用,此时能够访问到新的DOM元素。
组件被移除以前被调用,能够用于作一些清理工做,在componentDidMount
方法中添加的全部任务都须要在该方法中撤销,好比建立的定时器或添加的事件监听器。
更加详细的介绍:https://segmentfault.com/a/1190000004168886