react的生命周期
旧的生命周期
1.初始化阶段:由ReactDOM.render()触发---初次渲染
constructor()
componentWillMount()
render()
componentDidMount()---常用
一般在这个组件初始化完成后执行一些操作,比如发送网络请求,获取数据,或者订阅一些事件等。
2.更新阶段:由组件内部this.setState()或父组件重新render触发
shouldComponentUpdate()
componentWillUpdate()
render() ----必须用
componentDidUpdate()
3.卸载组件:由ReactDOM.unmountComponentAtNode()触发
componentWillUnmount()---常用
一般在这个方法中执行一些清理操作,比如取消网络请求,取消事件订阅等。
新的生命周期
1.初始化阶段:由ReactDOM.render()触发---初次渲染
constructor()
static getDerivedStateFromProps()
render()
componentDidMount()---常用
2.更新阶段:由组件内部this.setState()或父组件重新render触发
static getDerivedStateFromProps()
shouldComponentUpdate()
render()
getSnapshotBeforeUpdate()
componentDidUpdate()
3.卸载组件:由ReactDOM.unmountComponentAtNode()触发
componentWillUnmount()---常用
一般在这个方法中执行一些清理操作,比如取消网络请求,取消事件订阅等。
注意:
新版本的生命周期中废弃了三个生命周期,新增了两个生命周期。
componentWillMount、componentWillReceiveProps、componentWillUpdate
新增了两个生命周期:getDerivedStateFromProps、getSnapshotBeforeUpdate