React 的生命周期做一下笔记:
1. constructor 构造函数
接受两个参数 props,context
只要组件中存在constructor,就必须要写super,否则this指向会错误
例如:
constructor(props,context){
super(props,context)
console.log(this.props)
}
2.componetWillMount 组件将要挂载
组件刚经历constructor,初始完数据,还未进入rendered,组件还未渲染完成,dom还未渲染
3.componentDidMount 组件渲染完成
组件第一次渲染完成,此时dom节点已经生成,可以在这里调用ajax请求,返回数据setState后组件会重新渲染
4.componentWillReceiveProps(nextProps)
在接受父组件改变后的props需要重新渲染组件时用到的比较多,接受一个参数
5.shouldComponentUpdate(nextProps,nextState)
唯一用于控制组件重新渲染的生命周期,由于react中,setState以后,stat发生变化,组件会重新渲染的流程,在这里return false可以阻止组件的更新。
6.componentWillUpdate(nextProps,nextState)
shouldComponentUpdate返回true以后,组件进入重新渲染的流程,进入componentWillUpdate,这样可以拿到nextProps和nextState。
7.rendered函数
render 函数会插入jsx 生成dom结构,react会生成一份虚拟的dom树,在每次组件更新时,重新渲染
8.componentDidUpdate(prevProps,preState)
组件更新完毕以后,react只会在第一次初始化成功后进入componentDidmount,之后每次重新渲染后都会进入这个生命周期,这里可以拿到prevProps和prevState,即更新前的props和state
笔记就这么多了......