生命周期函数
组件挂载部分
- getdefaultprops,设置组件默认属性,在coustructor里面执行
- 组建渲染之前:componentWillMount。会在构造函数和state初始化后,执行。之后是组件挂载,render解析
- 组建渲染之后:componentDidMount
数据更新部分
- 组件可否更新:shouldComponentUpdate,,两个参数,nextprops是父组件传递给自组件的,nextstate是更新之后的
shouldComponentUpdate(nextProps,nextState){
console.log('01是否要更新数据')
console.log(nextProps) //父组件传给子组件的值,这里没有会显示空
console.log(nextState) //数据更新后的值
return true; //返回true,确认更新
}
-
更新之前执行:componentWillUpdate,返回true,会执行,接着render会渲染
-
更新之后执行:componentDidUpdate
-
props改变之前执行:
-
componentWillreceiveProps,父组件给子组件传递的值发生改变后调用,接受父组件给子组件传递的值,判断新旧有没有发生改变
componentWillReceiveProps(nextProps){
if(this.props.data.photo != nextProps.data.photo){
this.setState({
logoUrl: nextProps.data.photo
})
}
}
- 组件卸载之前执行:componentWillUnmount