每秒更新一次 React 组件

2024-03-17

我一直在玩 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(使用前将#替换为@)

每秒更新一次 React 组件 的相关文章

随机推荐