我一直在玩 React 并有以下仅渲染的时间组件Date.now()
到屏幕:
import React, { Component } from 'react';
class TimeComponent extends Component {
constructor(props){
super(props);
this.state = { time: Date.now() };
}
render(){
return(
<div> { this.state.time } </div>
);
}
componentDidMount() {
console.log("TimeComponent Mounted...")
}
}
export default TimeComponent;
从 React 的角度来看,让这个组件每秒更新一次以重新绘制时间的最佳方法是什么?
你需要使用setInterval
触发更改,但您还需要在组件卸载时清除计时器,以防止留下错误和泄漏内存:
componentDidMount() {
this.interval = setInterval(() => this.setState({ time: Date.now() }), 1000);
}
componentWillUnmount() {
clearInterval(this.interval);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)