*** 生命周期什么时候调用和自己写的顺序没有关系****** //旧版本 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(){}
|