То, что мы надеемся когда-либо делать с легкостью, сначала должны научиться делать с усердием
Компоненты. Это инкапсулированные блоки функциональности, которые являются основой в React. Они используют данные (свойства и состояние) для рендеринга пользовательских интерфейсов
Потратьте минуту, чтобы повторить то, что вы узнали в этой главе о React.
• React — это библиотека для создания пользовательских интерфейсов, созданная разработчиками из компании Facebook.
• React предоставляет простой, гибкий API, основанный на компонентах.
• Компоненты являются фундаментальной единицей React и широко используются в React-приложениях.
• React реализует виртуальную DOM — прослойку между вашей программой и фактической DOM браузера.
• Виртуальная DOM позволяет эффективно обновлять фактическую DOM с использованием алгоритма быстрой сверки.
• Виртуальная DOM обеспечивает отличную производительность, но самое большое преимущество — это статическая ментальная модель, которую она обеспечивает.
Теоретически это намного более упорядоченно и элегантно, чем грубая сверка или подобные подходы, а основное следствие для разработчиков — то, что на отслеживание состояния на практике затрачивается меньше сил.
DOM, или Document Object Model (объектная модель документа), — это программный интерфейс, который позволяет JavaScript-программам взаимодействовать с различными типами документов (HTML, XML и SVG)
В целом, виртуальная DOM служит промежуточным слоем между кодом приложения и фактической DOM браузера
Итак, что превращает React в отличный инструмент для крупных команд и сложных приложений? Во-первых, простота использования. Простота — это не то же самое, что легкость. Легкие решения часто «грязные», быстрые и, что хуже всего, порождают технический долг. Истинно простая технология гибка и надежна.
Когда происходит изменение, React определяет различия между фактическими и внутренними объектами DOM. Затем библиотека эффективно обновляет DOM браузера. Этот процесс часто называют сверкой («что изменилось?») или патчем («обновлять только то, что изменилось»)
React может выполнять интеллектуальные обновления и работать только с измененными частями данных, поскольку способна использовать эвристическую сверку для вычисления того, какие части DOM в памяти требуют изменений в фактической DOM.