Удаляйте обработчики и останавливайте таймеры при уничтожении владельца, ограничивайте частоту дорогой работы и следите за актуальностью замыканий.
В приложении мы используем прослушивание событий, например повесили обработчик scroll на window или запустили таймер - что необходимо учесть в этом случае (утечки памяти, троттлинг, очистка при unmount)?
Удаляйте обработчики и останавливайте таймеры при уничтожении владельца, ограничивайте частоту дорогой работы и следите за актуальностью замыканий.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Удаляйте обработчики и останавливайте таймеры при уничтожении владельца, ограничивайте частоту дорогой работы и следите за актуальностью замыканий.
Для removeEventListener нужны тот же callback и подходящий capture; для таймера сохраните ID. Scroll-обработка должна быть лёгкой, с throttle или координацией через animation frame по задаче. Очистка важна и при повторной настройке эффекта, иначе обработчики накапливаются.