Sobes.tech
Back to questions
Senior
2

Что такое cleanup-функция в useEffect и когда она срабатывает?

Companies where asked
Type

Answer from AI

sobes.tech AI

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

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

Пример:

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

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

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