Встречается на собеседованиях • сегодня

Что нужно добавить в useEffect в React чтобы снять обработчик после закрытия модального окна

В useEffect нужно вернуть функцию очистки, которая выполнится при размонтировании компонента. Это особенно важно для модальных окон, чтобы избежать утечек памяти и нежелательных сайд-эффектов.

Пример с модальным окном и обработчиком события:

jsx
useEffect(() => {
  const handleKeyDown = (e) => {
    if (e.key === 'Escape') closeModal();
  };

window.addEventListener('keydown', handleKeyDown);

return () => {
window.removeEventListener('keydown', handleKeyDown);
};
}, [closeModal]);

text

Ключевые моменты:
1. Возвращаемая функция выполнится при размонтировании компонента
2. Удаляем именно тот обработчик, который добавляли
3. Зависимость `closeModal` в массиве зависимостей (если используется)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы