React 生命周期是一个重要的概念,它描述了组件从创建到销毁的整个过程。下面是一些关于 React 组件生命周期的关键点:
生命周期方法
挂载阶段
componentDidMount()
: 组件已挂载到 DOM 上后调用。getDerivedStateFromProps(props, state)
: 当 props 发生变化时,React 会调用此方法来更新 state。
更新阶段
componentDidUpdate(prevProps, prevState)
: 组件更新后调用。getSnapshotBeforeUpdate(prevProps, prevState)
: 在组件更新之前获取快照。
卸载阶段
componentWillUnmount()
: 组件即将卸载时调用。
错误处理
componentDidCatch(error, info)
: 组件捕获到错误时调用。
示例
假设我们有一个简单的 React 组件,它会在挂载和更新时打印出当前的时间:
import React, { Component } from 'react';
class Clock extends Component {
constructor(props) {
super(props);
this.state = { date: new Date() };
}
componentDidMount() {
this.timerID = setInterval(
() => this.tick(),
1000
);
}
componentWillUnmount() {
clearInterval(this.timerID);
}
tick() {
this.setState({
date: new Date()
});
}
render() {
return (
<div>
<h1>Hello, world!</h1>
<h2>It is {this.state.date.toLocaleTimeString()}.</h2>
</div>
);
}
}
export default Clock;
扩展阅读
想要更深入地了解 React 生命周期?请阅读我们的React 生命周期指南。
React Logo