react中的生命周期
时间: 2023-07-22 17:11:04 浏览: 60
React中的生命周期指的是组件在不同阶段执行的一系列方法。在React 16.3之前,生命周期分为三个阶段:Mounting(挂载)、Updating(更新)和Unmounting(卸载)。而在React 16.3及以后的版本中,生命周期被重新命名为挂载、更新和卸载,并引入了新的生命周期方法。
下面是React中常用的生命周期方法:
1. 挂载阶段(Mounting):
- constructor:组件初始化时调用,用于初始化state和绑定事件处理函数。
- static getDerivedStateFromProps:组件实例化时和接收新的props时调用,用于根据props的变化来更新state。
- render:根据props和state渲染组件的UI。
- componentDidMount:组件挂载到DOM后调用,可以进行DOM操作或发起网络请求。
2. 更新阶段(Updating):
- static getDerivedStateFromProps:组件接收到新的props时调用,用于根据props的变化来更新state。
- shouldComponentUpdate:决定是否重新渲染组件,默认返回true。可以通过比较props和state来优化性能。
- render:根据props和state渲染组件的UI。
- componentDidUpdate:组件更新后调用,可以进行DOM操作或发起网络请求。
3. 卸载阶段(Unmounting):
- componentWillUnmount:组件即将从DOM中移除时调用,可以进行一些清理工作,如清除定时器、取消订阅等。
此外,React还引入了新的生命周期方法:
- static getDerivedStateFromError:在子组件发生错误时调用,用于渲染错误界面。
- componentDidCatch:在子组件发生错误后调用,可以用来记录错误信息或发送错误报告。
需要注意的是,React 17已经宣布将废弃一些生命周期方法(如componentWillMount、componentWillReceiveProps、componentWillUpdate),并推荐使用新的生命周期方法。