Sobes.tech
Senior

Qu'est-ce qu'une fonction de nettoyage dans useEffect et quand elle s'exécute?

sobes.tech IA

Réponse de l'IA

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

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

Пример:

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

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

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