Middle
Kiedy wywoływana jest funkcja czyszczenia w useEffect?
sobes.tech AI
Odpowiedź od AI
Funkcja czyszczenia w useEffect uruchamia się w następujących przypadkach:
- Przed ponownym wykonaniem efektu po zmianie zależności.
- Przy odmontowaniu komponentu.
Pozwala to na poprawne zwalnianie zasobów, anulowanie subskrypcji lub timerów, aby uniknąć wycieków pamięci i nieprawidłowego zachowania.
Przykład:
useEffect(() => {
const id = setInterval(() => {
console.log('tick');
}, 1000);
return () => {
clearInterval(id); // czyszczenie przy odmontowaniu lub aktualizacji
};
}, []); // pusty array zależności — efekt wykona się raz