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