feat: replace requestAnimationFrame with setInterval for time updates

This commit is contained in:
hamster1963 2025-02-19 15:06:18 +08:00
parent 4171829a15
commit e8530956fa

View File

@ -30,32 +30,16 @@ const useCurrentTime = () => {
}) })
useEffect(() => { useEffect(() => {
let animationFrameId: number const intervalId = setInterval(() => {
let lastSecond = DateTime.now().setLocale("en-US").second
const updateTime = () => {
const now = DateTime.now().setLocale("en-US") const now = DateTime.now().setLocale("en-US")
const currentSecond = now.second setTime({
hh: now.hour,
mm: now.minute,
ss: now.second,
})
}, 1000)
if (currentSecond !== lastSecond) { return () => clearInterval(intervalId)
lastSecond = currentSecond
setTime({
hh: now.hour,
mm: now.minute,
ss: currentSecond,
})
}
animationFrameId = requestAnimationFrame(updateTime)
}
animationFrameId = requestAnimationFrame(updateTime)
return () => {
if (animationFrameId) {
cancelAnimationFrame(animationFrameId)
}
}
}, []) }, [])
return time return time