生成期:
1、constructor( ) constructor一般做组件state初绐化工作,被调用是在组件准备要挂载的最一开始,所以此时组件尚未挂载到网页
2、componentWillMount( ) componentWillMount方法的调用在constructor之后,在render之前,在这方法里的代码调用setState方法不会触发重渲染,所以它一般不会用来作加载数据之用
3、render( )
4、componentDidMount( ) componentDidMount方法中的代码是在组件已经完全挂载到网页上才会调用被执行,所以可以保证数据的加载。此外,在这方法中调用setState方法,会触发重渲染
存在期:
1 componentWillReceiveProps() componentWillReceiveProps在初始化render的时候不会执行,它会在Component接受到新的状态(Props)时被触发
nextProps代表这次的props值,this.props代表上次props的值
2 shouldComponentUpdate() shouldComponentUpdate让React知道当前状态或属性的改变是否不影响组件的输出,默认返回ture,返回false时不会重写render,而且该方法并不会在初始化渲染或当使用forceUpdate()时被调用
shouldComponentUpdate(nextProps, nextState) {
return nextState.someData !== this.state.someData
}
}
3 componentWillUpdate() componentWillUpdate(nextProps, nextState)与componentWillMount方法类似,组件上会接收到新的props或者state渲染之前,调用该方法。但是不可以在该方法中更新state和props
4 componentDidUpdate() componentDidUpdate(prevProps, prevState)方法会传入两个参数:prevProps, prevState。这个正好和componentWillUpdate是相对的。这个两个参数的值就是在方法调用之前的this.props和this.state
销毁期:
1 ComponentWillUnmount() ComponentWillUnmount()在组件被卸载和销毁之前立即调用。在此方法中执行任何必要的清理,例如使计时器无效、取消网络请求或清除在组件
网友评论