第六章 react组件实例中三大属性之State
React中的state是一种数据结构,用于组件渲染时存储和更新组件特定的可变状态。它应该被当作组件的私有数据,不应该直接修改外部对象的state。
以下是一个React组件的例子,展示了如何使用state:
import React from 'react';
class Clock extends React.Component {
constructor(props) {
super(props);
this.state = { date: new Date() }; // 初始化state
}
componentDidMount() {
this.timerID = setInterval(
() => this.tick(),
);
}
componentWillUnmount() {
clearInterval(this.timerID);
}
tick() {
this.setState({
date: new Date() // 更新state
});
}
render() {
return (
<div>
<h1>Hello, world!</h1>
<h2>现在是 {this.state.date.toLocaleTimeString()}.</h2>
</div>
);
}
}
export default Clock;
在这个例子中,Clock
组件有一个state,即date
,它在组件挂载后每秒更新。componentDidMount
方法用于设置一个定时器,而componentWillUnmount
方法用于清除这个定时器,以防止在组件卸载后更新state,造成潜在的内存泄漏或错误。
评论已关闭