Estoy tratando de crear un reloj en vivo con reacción para una aplicación meteorológica que actualizará la hora en tiempo real en lugar de solo actualizar la página.
Logré actualizar el reloj en tiempo real, pero el problema es que solo funciona cuando el valor inicial en useState se establece en 0.
Declaraciones:
var today = new Date(); const [seconds, setSeconds] = useState(0);efecto de uso:
useEffect(() => { const interval = setInterval(() => { setSeconds(today.getSeconds()); }, 1000); return () => clearInterval(interval); }, [seconds]);Este código funciona muy bien , el problema es que, dado que el valor inicial es 0, los segundos saltan de 0 a 37, por ejemplo, y solo entonces comienzan a actualizarse.
Cuando trato de cambiar el valor inicial, por ejemplo:
const [seconds, setSeconds] = useState(today.getSeconds());El reloj comienza con el segundo correcto, pero no continúa actualizándose en tiempo real: el reloj está atascado.
¿Alguna idea?