Встречается на собеседованиях • сегодня
Почему нужно отписываться от обработчика событий в JavaScript
Отписка от обработчиков событий предотвращает утечки памяти и неожиданное поведение, особенно в SPA. Если элемент удаляется из DOM, но обработчик остаётся подписанным, сборщик мусора не сможет его удалить, так как ссылка на элемент сохраняется в обработчике. Также могут срабатывать обработчики у удалённых элементов.
Пример с отпиской:
javascript
const button = document.getElementById('btn');
const handleClick = () => console.log('Clicked!');
button.addEventListener('click', handleClick);
// Позже, когда кнопка больше не нужна
button.removeEventListener('click', handleClick);В React используйте useEffect с функцией очистки:
jsx
useEffect(() => {
const handleResize = () => console.log('Resized');
window.addEventListener('resize', handleResize);
return () => window.removeEventListener('resize', handleResize);
}, []);
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы