javascript - 无法按时间间隔更新计数器
问题描述
我在 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;
解决方案
可以解决你的问题
import { useEffect } from 'react'
useEffect(() => {
setInterval(() => function(.... DO something)), 1000)
}, [])