Open hchocobar opened 6 months ago
/* Simple Counter Bonus*/
.big-counter {
text-align: center;
background: black;
}
.big-counter div {
display: inline-block;
font-size: 60px;
background: #161B22;
border-radius: 5px;
color: white;
padding: 10px;
margin: 3px;
}
useEffect()
con dependencias useEffect(() => {
if (isRunning) {
const newInterval = setInterval(() => {
setCounter(counter => counter + 1);
}, 10);
return () => clearInterval(newInterval);
}
}, [isRunning]);
El return
en la función dentro del hook useEffect()
se utiliza para definir un 'cleanup' que es una función de limpieza que React ejecutará en dos situaciones principales:
useEffect()
deja de estar presente en la interfaz de usuario (por ejemplo, si navegas a otra página o si dejas de renderizar ese componente), React ejecutará la función de limpieza para asegurarse de que los efectos secundarios se detengan correctamente.useEffect()
cambie: React ejecutará la función de limpieza antes de ejecutar de nuevo el useEffect()
.En este caso específico, la función de limpieza se utiliza para detener el intervalo que se creó con setInterval()
y de esta manera evitar la creación de múltiples intervalos innecesarios y para asegurarse de que el intervalo se limpie correctamente cuando ya no sea necesario
Check List
useEffect()
doc: https://es.react.dev/reference/react/useEffect
Time to Code: Simple Counter Bonus
index.css
{}
{}
(start, pause, continue)