В чем разница между очисткой и размонтированием

«В чем разница между очисткой и размонтированием» — вопрос из категории React, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Очистка (cleanup) - это удаление побочных эффектов (таймеры, подписки, обработчики событий) перед удалением компонента. Размонтирование (unmount) - это полное удаление компонента из DOM.

Пример с хуком useEffect:

useEffect(() => {
  const timer = setInterval(() => {
    console.log('Tick');
  }, 1000);

  // cleanup функция
  return () => {
    clearInterval(timer); // очистка
  };
}, []); // компонент размонтируется при удалении

Ключевые отличия:

  1. Очистка выполняется перед размонтированием и при изменении зависимостей
  2. Размонтирование - финальный этап жизненного цикла компонента
  3. Очистка может происходить многократно, размонтирование - только один раз