关于react生命周期

react生命周期有三种状态1初始化2更新3销毁

初始化阶段

1 getDefaultProps();

设置组件的默认属性,也可以defaultProps:{}设置

2 getInitialState();

ES6中直接继承Component类,使用this.state={},此时可以访问this.props

3 componentWillMount();

渲染之前调用,既在客户端也在服务端

4 render();

react最重要的步骤,创建虚拟Dom渲染UI,此时不能修改state;

5 componentDidMount();

 首次渲染之后调用,该阶段调用ajax请求,防止异步操作阻塞UI

6 componentWillReceiveProps(nextProps);

 初始化时不调用,组件接受新的props时调用

7 shouldComponentUpdate(nextProps,nextState);

react性能优化非常重要的一环,组件接收新的props,state时调用,比较之前的state和props是否相同,相同返回false阻止更新,此钩子节省大量性能。

8 componentWillUpdate();

组件初始化时不调用,组件将更新时进行调用,此时可以修改state,但可能出现循环调用,耗尽内存

9 componentDidUpdate();

组件初始化时不调用,组件更新完成时调用,此时可以获取dom节点

10 componentWillUnmount();

组件将要卸载时调用,一些事件监听和定时器需要在此时清除

以下两种情况

1  属性props改变

  先  componentWillReceiveProps  然后    shouldComponentUpdate

2  状态state改变

  先  shouldComponentUpdate   决定要不要   componentWillUpdate

猜你喜欢

转载自www.cnblogs.com/shiyujian/p/9376160.html