> Что делает хук useEffect и как работает функция очистки в React? (React)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: ADV/web-engineering, Точка, EvApps, Домклик, IT-One, intelsy, Сбер
Стек: React
> Пример ответа
Хук useEffect в React позволяет выполнять побочные эффекты в функциональных компонентах - например, запросы к API, подписки на события, таймеры или манипуляции с DOM. Он принимает два аргумента: функцию эффекта и массив зависимостей. React запускает эффект после каждого рендера, если изменилась хотя бы одна зависимость, или только при монтировании, если массив пуст.
Функция очистки - это функция, которую можно вернуть из эффекта. React вызывает её перед повторным запуском эффекта (при изменении зависимостей) и при размонтировании компонента. Она нужна для предотвращения утечек памяти: например, для отписки от событий, очистки таймеров или отмены запросов.
Пример:
JSXuseEffect(() => {const timer = setInterval(() => console.log('Tick'), 1000);return () => clearInterval(timer); // функция очистки}, []);
Здесь таймер создаётся при монтировании, а очистка убирает его при размонтировании. Если бы массив зависимостей содержал переменную, очистка вызывалась бы при каждом её изменении перед новым запуском эффекта.
> Похожие задачи по frontend
Как работает useEffect хук в React
Приходилось ли писать скрипты для работы с React
Что происходит с индексами элементов при удалении первого элемента из массива
В чем разница функциональных и классовых компонентов в React?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью