react生命周期主要分为三个阶段
1.初始化组件阶段 2.更新阶段 3.卸载组件阶段
初始化组件阶段的生命周期钩子
1. 初始化阶段
·constructor()
· getDerivedStateFromProps() 从Props获得派生状态 static 静态方法 state状态取决于props使用
·render()
·componentDidMount() ====>`常用`,在此阶段发送ajax请求
2 更新阶段
·getDerivedStateFromProps() 从Props获得派生状态
· shouldComponentUpdate() 组件是否应该更新return true/false(为false时,数据改变,页面不会跟着改变)
·render()
·getSnapshotBeforeUpdate() 在更新前获得快照
·componentDidUpdate()
3卸载组件
由ReactDOM.unmountComponentAtNode()触发
- componentWillUnmount() ===>`常用`
一般在这个钩子中做一些收尾的事情,如:关闭定时器、取消订阅消息
生命周期总结
1、重要的钩子
>1. render:初始化渲染或者更新渲染调用
>2. componentDidMount() :开启监听,发送ajax请求
>3. componentWillUnmount(): 做一些收尾工作,如:清理定时器
2、即将废弃的钩子
1. componentWillMount
2. componentWillReceiveProps
3. componentWillUpdate
`ps`:现在使用会出现警告,之后版本可能需要加上UNSAFE_前缀才能使用,以后可能会被彻底废弃,不建议使用
推测React团队认为提高使用成本将会间接影响我们,让我们去适应新的钩子,所以加上这个