无法在间隔上更新计数器

时间:2019-06-08 14:24:05

标签: javascript reactjs

我在react中构建了一个功能组件,该组件使用setInterval更新状态,但是如果它每秒返回相同的时间,而不是每秒减少一次。

你能告诉我为什么吗?

非常感谢!

import React from 'react'
import { useState } from 'react';

function Countdown(props) {

  let count;
  let countdown;

  const [time, setTime] = useState('')

  const timeSubString = props.timeData.callLength.substring(3)
  const startingTime = Date.parse('1970-01-01T00:' + timeSubString + 'Z')
  const interval = 1000;

  setInterval(() => {
    count = startingTime - interval;
    countdown = new Date(count).toISOString().slice(11, -5)
    setTime(countdown)
  }, interval);

  return (
    <div>
      {time}
    </div>
  )
}

export default Countdown;

1 个答案:

答案 0 :(得分:0)

可以解决您的问题

  import { useEffect } from 'react'

  useEffect(() => {
        setInterval(() => function(.... DO something)), 1000)
    }, [])