Коротко: Виртуальный DOM React

Коротко: Виртуальный DOM React

7 ноября 2022 г.

Всем привет, сегодня в этой короткой статье давайте поговорим о важной концепции React — виртуальном DOM.

DOM или объектная модель документа — это программный интерфейс для HTML. Благодаря ему и использованию JavaScript (в большинстве случаев) мы можем получить доступ к определенным элементам HTML-страницы, манипулировать ими и сделать веб-страницы более динамичными.

Мы можем изменять и создавать элементы из документа. DOM обычно представляется в виде древовидной структуры узлов, где каждый узел является элементом HTML.

Ниже представлено иерархическое древовидное представление DOM, начиная с корневого элемента HTML и заканчивая другими узлами:

Но поскольку у нас есть DOM, зачем нам виртуальный DOM и в чем разница между стандартным DOM и виртуальной версией?

Основная проблема с традиционным DOM заключается в том, что он отнимает много времени, использует много памяти и медленно обновляется. Имея все больше и больше динамических веб-приложений, становится очень сложно изменять DOM, а обновления становятся все длиннее.

А вот и React и введение Virtual DOM.

Виртуальный DOM — это виртуальное представление DOM браузера, которое будет храниться в памяти. Всякий раз, когда в элемент веб-приложения вносятся изменения, React проверяет, совпадает ли HTML-код компонента в виртуальном DOM. Если нет, DOM браузера будет обновлен, с другой стороны, если это то же самое, DOM не будет изменен. Обычно это то, что мы называем процессом примирения, который мы можем разделить на 4 части:

* виртуальный DOM обновляется всякий раз, когда изменяется элемент * этот виртуальный DOM сравнивается с предыдущей версией виртуального DOM * все измененные элементы обновляются до DOM браузера * веб-страницы обновляются в соответствии с DOM браузера

Благодаря согласованию и тому, как React работает за кулисами, DOM обновляется только тогда, когда это необходимо, а не с какими-либо модификациями. Как следствие, веб-сайты работают быстрее.

Но важно иметь в виду, что даже если веб-сайты работают быстрее с React, если многие элементы необходимо обновить, это приведет к замедлению работы веб-сайта. Итак, как мы можем улучшить это и сохранить преимущества React, в основном скорость?

Разработчики React нашли отличный способ справиться с этой проблемой и создали архитектуру React Fiber. Принципы Fibre Architecture просты, обновления идут одно за другим, только по мере необходимости и в зависимости от их приоритета.

Например, если пользователь просматривает определенную часть веб-страницы и нажимает кнопку, в результате которой отображается текст в разных частях страницы, обновления будут выполняться для текста, непосредственно видимого пользователем, и то произойдет для текста, который в данный момент не виден. Обновления вносятся постепенно, шаг за шагом, и веб-приложение оптимизируется.

Спасибо за уделенное время, надеюсь, вам понравилась эта короткая статья, она была написана для освежения знаний, без слишком подробного описания.

Увидимся в следующей статье!


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE