*** 生命周期什么时候调用和自己写的顺序没有关系******
//旧版本
1)初始化阶段 由reactDom.render()触发 --初次渲染
constructor()
componentWillMount()
render()``
componentDidMount() ===》常用 一般在这个钩子里面做一些初始化 :定时器开启 发送网络请求 订阅消息
2) 更新阶段 :由组件内部this.setState()或父组件render触发
shouldComponentUpdate()
componentWillUpdate()
render()
componentDidUpdate()
3) 卸载组建 :由ReactDOM.unmountComponentAtNode()触发
componentWillUnmount() ===》常用 一般在这个阶段做一些收尾工作 关闭定时器,取消订阅消息
//新版本
新版本中 所有带will的组建 除了卸载都需要加上 UNSAFE_componentWillMount
新的生命周期 废弃三个钩子 componentWillMount componentWillUpdate componentWillReceiveProps
新的版本中 新增了两个生命周期
//若 state的值在任何时候都取决于props 可以使用(很少用 不好维护)
getDerivedStateFromProps(){}
getSnapshotBeforeUpdate(){ }
详细解释
挂载 ReactDom.render(,document.getElementById(‘test’))
卸载 ReactDom.unmountComponentAtNode(document.getElementById(‘test’))
componentWillMount(){} //组建将要挂载
//组建挂载完毕调用
componentDidMount(){} //可以调用定时器
//组建将要卸载
componentWillUnmount(){} //可以清除定时器
//控制组建更新的阀门 默认true
shouldComponentUpdate(){}
//组建将要更新
componentWillUpdate(){}
//组建更新完毕的钩子
componentDidUpdate(){}
//组建将要接收新的props钩子
componentWillReceiveProps(){}