Sobes.tech
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