我在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;
答案 0 :(得分:0)
可以解决您的问题
import { useEffect } from 'react'
useEffect(() => {
setInterval(() => function(.... DO something)), 1000)
}, [])