DOM и React Senior DOM на практике обновлено
Реакция на изменение размера
Условие
observeWidth(el, onWidth, Observer): вызывает onWidth(ширина) при изменении размера элемента. Верни функцию остановки. Конструктор наблюдателя приходит третьим аргументом.
Что проверяют тесты
сообщает ширину
понимает современный формат записи
остановка отключает наблюдатель
Как подойти
ResizeObserver заменяет слушатель resize у окна: он срабатывает на изменение конкретного элемента, включая случаи, когда окно не менялось (раскрылась боковая панель, поменялся контент). На нём строят контейнерные запросы до появления CSS container queries. Поддержка двух форматов записи - обычная реальность, спецификация менялась.
Подсказки: 2
- Запись содержит contentRect в старых браузерах и contentBoxSize в новых.
- Наблюдатель обязательно отключать, иначе он держит элемент.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.