DOM и React Middle Ref и DOM обновлено
Измерение после отрисовки
Условие
Компонент должен положить ширину блока в состояние сразу после монтирования и показать её. Измерение делается по DOM-узлу.
Что проверяют тесты
измеряет ширину
Как подойти
useEffect выполняется после отрисовки кадра - пользователь успеет увидеть промежуточное состояние и заметит мигание. useLayoutEffect выполняется до отрисовки, поэтому измерения и корректировки позиции делают в нём. Плата - блокировка кадра, поэтому по умолчанию всё равно useEffect.
Подсказки: 2
- Измерять можно только после того, как узел появился в документе.
- useLayoutEffect выполняется синхронно после вставки в DOM, до отрисовки кадра.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.