React中的生命周期是组件在其生命周期内所经历的一系列阶段。以下是React生命周期的各个阶段及其用途:
- Mounting(装载):在这个阶段,组件被创建并插入DOM中。
- constructor():初始化state和bind方法
- getDerivedStateFromProps():根据props的变化更新state
- render():渲染组件
- componentDidMount():组件挂载完成后调用,可以执行异步操作,如Ajax请求、添加事件监听器等。
- Updating(更新):在这个阶段,组件被重新渲染以响应props或state的变化。
- getDerivedStateFromProps():根据props的变化更新state
- shouldComponentUpdate():根据新的props或state判断是否需要重新渲染组件,默认为true。
- render():重新渲染组件
- getSnapshotBeforeUpdate():获取更新前的DOM快照
- componentDidUpdate():组件更新完毕后调用,可以执行更新前和更新后的对比操作,如获取更新后的DOM快照、发送网络请求等。
- Unmounting(卸载):在这个阶段,组件被从DOM中移除。
- componentWillUnmount():组件卸载前调用,可以做一些清理工作,如取消网络请求、销毁定时器等。
- Error Handling(错误处理):在子组件抛出异常时,会调用此阶段的方法。
- componentDidCatch():捕获子组件的错误,可以用于记录错误信息、发送错误报告等。