React не всегда полностью пересоздаёт DOM-элементы при изменениях, потому что он оптимизирует процесс рендеринга, обновляя только то, что необходимо. 12
Некоторые особенности работы React:
- Проверка равенства ссылок. 1 React оценивает изменения состояния, проверяя, ссылаются ли старое и новое значения на один и тот же объект. 1 Если да, то состояние не меняется, и рендеринг не происходит. 1
- Изменение узлов DOM. 2 React изменяет узлы DOM только если есть разница между рендерами. 2 Если результат рендеринга такой же, как и в прошлый раз, то DOM не трогается. 2
- Приоритет обновлений. 1 React задерживает обновления с низким приоритетом до завершения более важных. 1
По умолчанию происходит повторный рендер при любом изменении состояния. 4 Чтобы указать React необходимость в повторном рендеринге, можно использовать, например, метод forceUpdate(). 4