prácticabásico
Cronómetro con intervalos
Construye un cronómetro que puedes iniciar, pausar y resetear. Usa una ref para guardar el id del intervalo — no estado — y limpia siempre en el cleanup para que el timer no quede vivo al desmontar.
Objetivos
- 1.Estado
elapsed(ms) que empieza en 0 - 2.Estado
running(boolean) que controla el botón start/pause - 3.Al correr, usa
setIntervalcada 10ms:setElapsed(e => e + 10) - 4.Guarda el id del intervalo en un
useRef— no en estado - 5.El cleanup del
useEffectllamaclearIntervalcon el id guardado - 6.Botón
resetponeelapseden 0 y pausa - 7.Formato de salida:
mm:ss.cc(centésimas)
tu código
Pista
Devuelve una función de cleanup desde el useEffect que haga clearInterval. El useEffect debe depender de [running] para que se reinicie al pausar/reanudar.
Conceptos relacionados
¿Fue útil?
Inicia sesión para dar feedback
