Cleanup — возвращаемая из useEffect функция: она освобождает ресурсы перед повторным запуском эффекта с новыми зависимостями и при размонтировании.
Что такое функция очистки (cleanup) в useEffect? Когда она отрабатывает? Напиши её в useEffect.
Cleanup — возвращаемая из useEffect функция: она освобождает ресурсы перед повторным запуском эффекта с новыми зависимостями и при размонтировании.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Cleanup — возвращаемая из useEffect функция: она освобождает ресурсы перед повторным запуском эффекта с новыми зависимостями и при размонтировании.
Например, подписку на событие нужно снимать тем же обработчиком:
useEffect(() => {
const handleResize = () => setWidth(window.innerWidth);
window.addEventListener('resize', handleResize);
return () => window.removeEventListener('resize', handleResize);
}, []);
При включённом Strict Mode разработческая проверка может дополнительно выполнить цикл setup/cleanup/setup. Очистка должна корректно соответствовать созданным эффектом ресурсам.