Sobes.tech
Senior

Co je to cleanup funkce v useEffect a kdy se spouští?

sobes.tech AI

Odpověď od AI

В React хук useEffect может возвращать функцию очистки (cleanup-функцию), которая вызывается для отмены побочных эффектов перед следующим выполнением эффекта или при размонтировании компонента.

Она нужна для освобождения ресурсов, отмены подписок, таймеров или других операций, которые могут привести к утечкам памяти или нежелательному поведению.

Пример:

useEffect(() => {
  const id = setInterval(() => {
    console.log('Тик');
  }, 1000);

  return () => {
    clearInterval(id); // Очистка таймера при размонтировании или обновлении
  };
}, []);

В этом примере cleanup-функция очищает таймер, чтобы он не продолжал работать после того, как компонент будет удалён из DOM.