javascript - 如何根据 API 返回的时间再次运行时钟?

标签 javascript reactjs

我收到了来自 api 的响应,该对象有一个属性 --> 秒:70。 如何从这 70 秒开始计时。我应该更改 this.setState ({})timerTime,timerStart 中的哪个属性来设置新时间(70 秒)并运行时钟?我可以使用时刻库​​来设置新时间。

所有代码:https://stackblitz.com/edit/react-rbv2pd

代码片段:

componentDidMount() {
    this.setState({
      timerTime: 70  //I  get response from api {seconds:70}
    })
  }

  startTimer = () => {
    this.setState({
      timerOn: true,
      timerTime: this.state.timerTime,
      timerStart: Date.now() - this.state.timerTime
    });
    this.timer = setInterval(() => {
      this.setState({
        timerTime: Date.now() - this.state.timerStart
      });
    }, 10);
  };

最佳答案

您可以将从 api 获取的值转换为毫秒,然后将其分配给timerTime -

componentDidMount() {
   const valueInMilliSec = valueFromApi * 1000;
    this.setState({
      timerTime: valueInMilliSec  //I  get response from api {seconds:70}
    })
  }

就你而言 -

this.setState({
      timerTime: 70000                       
    })

关于javascript - 如何根据 API 返回的时间再次运行时钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57074633/

相关文章:

javascript - Bootstrap 和输入组 : how to make input wider wnen input-group-addon is hidden?

javascript - 通过数据库创建图像上传/下载功能

javascript - 我如何将 CSS 类传递给 React 子项并确保它们将覆盖子项的本地类?

javascript - React Native 进度 View iOS 不重新渲染

javascript - 我如何发送 CSRF token

javascript - 访问React类组件的返回变量

javascript - react mobx - 存储返回代理对象

reactjs - 如何在 Next.js 应用程序中使用 ES2020 功能

javascript - 如何添加 react 表默认过滤器

reactjs - 发布的数据无法用reactjs显示