组件在创建时更新时执行的顺序。
第一次页面加载组件:
1、执行getDefaultProps方法来初始化props的值并返回
2、执行getInitialState方法初始化状态并返回
3、componentWillMount,执行渲染前的方法 在此方法内修改状态不会触发再次渲染。
4、render 执行渲染
5、componentDiDMount 渲染后的方法 在此方法内修改状态会触发再次渲染。可以在此函数内ajax请求来修改数据
组件更新:
当第一次渲染后状态变化时执行更新渲染流程
1、componentWillReceiveProps:fn(nextprops)
当接收到新的props属性修改时调用,参数是修改了的属性对象
组件在初次渲染后可用XX. setProps()来修改属性对象。这时会先调用此方法。
方法内可以对state进行修改
2、shouldComponentUpdate:fn(nextprops,nextstate)
当接收到新的props 或state时调用
此该当需要返回true 可以更新或false取消更新
3、componentWillUpdate 更新渲染前执行
4、render
5、componentDidUpdate 更新渲染后执行
销毁:
后执行componentWillUnmount
此方法内可以删除一些数据或计时器等。如运行的setInterval销毁时react是不会给停止的需要手动来做。
React.unmountComponentAtNode(node) 销毁组件参数是组件生成的node 标签