Ответ
Очистка (cleanup) - это удаление побочных эффектов (таймеры, подписки, обработчики событий) перед удалением компонента. Размонтирование (unmount) - это полное удаление компонента из DOM.
Пример с хуком useEffect:
useEffect(() => {
const timer = setInterval(() => {
console.log('Tick');
}, 1000);
// cleanup функция
return () => {
clearInterval(timer); // очистка
};
}, []); // компонент размонтируется при удалении
Ключевые отличия:
- Очистка выполняется перед размонтированием и при изменении зависимостей
- Размонтирование - финальный этап жизненного цикла компонента
- Очистка может происходить многократно, размонтирование - только один раз