我有一個網站,我想在其中一個頁面上放置一個實時時鐘。我已經使用鉤子撰寫了代碼,但我知道在這種情況下使用鉤子對性能不利,因為每秒都會重新渲染狀態。有沒有資源密集度較低的解決方案?
import { useEffect, useState } from 'react'
export default function Footer() {
const [time, setTime] = useState()
useEffect(() => {
setInterval(() => {
const dateObject = new Date()
const hour = dateObject.getHours()
const minute = dateObject.getMinutes()
const second = dateObject.getSeconds()
const currentTime = hour ' : ' minute ' : ' second
setTime(currentTime)
}, 1000)
}, [])
return <div>{time}</div>
}
uj5u.com熱心網友回復:
您正在考慮性能絕對是一件好事,但是在這種情況下,我不會改變任何事情。為了改變渲染到螢屏上的內容(在這種情況下是時鐘的文本),必須重新渲染組件以反映其狀態的變化,這并不是一件壞事。每次組件重新渲染時,它都不會導致父級重新渲染,因此在性能方面我們做得很好。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/414506.html
標籤:
