Встречается на собеседованиях • сегодня
Что такое Relayout
Relayout (перекомпоновка) — это процесс пересчета геометрии элементов DOM при изменении их размеров, положения или содержимого, что приводит к повторному вычислению макета страницы. Это часть цикла рендеринга браузера и может быть ресурсоемким, особенно при частых изменениях.
Пример триггеров relayout:
- Изменение ширины/высоты элемента (
element.style.width = '200px') - Добавление/удаление DOM-узлов
- Получение метрик (например,
offsetWidth,clientHeight)
Как избежать:
- Группировать изменения DOM (
DocumentFragment,requestAnimationFrame). - Использовать CSS-трансформы вместо изменения размеров/положения.
- Минимизировать чтение метрик после изменений.
javascript
// Плохо: вызывает multiple relayouts
for (let i = 0; i < 100; i++) {
element.style.width = `${i}px`;
}
// Лучше: batch changes
requestAnimationFrame(() => {
element.style.width = '100px';
});
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы