javascript - setInterval 的时钟不更新时间

标签 javascript reactjs

下面。是 react 文档代码。 https://codepen.io/gaearon/pen/gwoJZk?editors=0010

我正在尝试在本地设置中运行 react 文档给出的时钟,稍加修改,但时钟显示当前时间,没有任何秒或分钟的增量。

//组件/Clock.js

import React from 'react';

function tick() {
  const element = (
    <div>
      <h1>Hello, world!</h1>
      <h2>It is {new Date().toLocaleTimeString()}.</h2>
    </div>
  );
 return element;
}

setInterval(tick, 1000);

export default tick;

//src/App.js

import React, { Component } from 'react';
import Clock from './components/Clock';

class App extends Component {
  render() {
    return (
      <div>
        <Clock />
      </div>
    );
  }
}

export default App;

为什么时间不更新?

最佳答案

我已经为您创建了一个示例。实际上你必须使用setInterval并且需要将当前时间存储到组件的状态中。

https://stackblitz.com/edit/react-nuhgwi?file=Hello.js

关于javascript - setInterval 的时钟不更新时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47810572/

相关文章:

javascript - 如何在响应式中更改 div 位置

javascript - 如何防止循环 dropzone 成功事件

reactjs - 如何将 Flow 与 React.createRef() 一起使用?

css - 输入搜索框过渡(宽度)不平滑

javascript - ReactJS - 如何将 "global"数据传递给深层嵌套的子组件?

javascript - KnockoutJS 复选框列表不绑定(bind)所选值

javascript - jQuery 选择器不在 id 上

css - 如何删除不同行中div之间的空间

javascript - 为什么我只能在先检查方法是否存在后才能调用该方法?

javascript - 等待启动 Controller ,直到单击选项卡