Во-первых, следующий код
let element = document.getElementById('el');
element.width = '10px';
element.height = '20px';
element.style.margin = '1px';
вызывает только одну перекомпоновку.Объяснение довольно длинное, к счастью 2мн из этого выступления Джейка Арчибальда прекрасно объясняют это.
По сути, четыре строки кода вызывают только действия в памяти, то есть переменные меняются, и это тольков конце задачи (после четвертой строки) этот css фактически пересчитывается, и элемент перерисовывается, и окно перерисовывается.Итак, только один reflow .
React, ну, делает то же самое, так что только один reflow тоже.