🙈
React
  • 🧑‍💻Full-Stack Web Developer
  • 📚Теорія
    • 1️⃣Введення в React
      • Веб-застосунки
      • Бібліотека React
      • Інструменти
      • Створення і клонування своєї збірки React на базі Create React App
      • Елементи в React
      • JSX
      • Компоненти
      • Рендер за умовою
      • Колекції
    • 2️⃣Стилізація
      • Вбудовані стилі
      • Ванільний CSS
      • CSS модулі
      • Стилізовані компоненти
      • Нормалізація стилів
    • 3️⃣Події та стан
    • 4️⃣Форми
      • Formik
      • Yup валідація форм Formik
    • 5️⃣Життєвий цикл
    • 6️⃣HTTP-запити
    • 7️⃣React-хуки
    • 8️⃣Контекст та рефи
    • 9️⃣Маршрутизація
      • Маршрутизація
      • Компонент <BrowserRouter>
      • Компоненти <Route> та <Routes>
      • Компоненти <Link> та <NavLink>
      • URL-параметри
      • Вкладені маршрути
      • Індексні маршрути
      • Програмна навігація
      • Рядок запиту
      • Обʼєкт місцезнаходження
      • Розподілення коду
    • 🔟Redux Toolkit
      • Управління станом
    • 🕚Асинхронний Redux
    • Бібліотека Redux Persist для роботи з localstorage
    • Помилка non-serializable value і її виправлення
    • переключення теми
    • 👷Практика
  • Про мене
    • Про мене
Powered by GitBook
On this page
  • Browser DOM і Virtual DOM​
  • Порядок оновлення DOM​
  1. Теорія
  2. Введення в React

Бібліотека React

PreviousВеб-застосункиNextІнструменти

Last updated 1 year ago

React – бібліотека для створення елементів інтерфейсу користувача.

Ця бібліотека із додатковими модулями дозволяє вирішити будь-які завдання розробки.

При написанні додатку за допомогою бібліотеки React ми безпосередньо не взаємодіємо з DOM-деревом. Інтерфейс описують за допомогою компонентів (шаблонів). А змінюють його за допомогою моделі. Якщо змінити дані моделі, то бібліотека React сама перемалює інтерфейс.

Бібліотеку React можна використовувати для розробки різних мультиплатформних сервісів.

Приклади використання React на різних платформах:

  • - для написання застосунків, які рендеряться на сервері

  • - для написання нативних мобільних додатків

  • - для написання десктопних застосунків

Browser DOM і Virtual DOM

DOM - Об'єктна модель документа (англ. Document Object Model).

Browser DOM – деревоподібне представлення HTML-документа. Тут кожен елемент представлений у вигляді DOM-вузла. Це дерево безпосередньо представляє те, що ми бачимо в браузері на сторінці.

Коли змінюється DOM браузера, то виконуються складні операції з оновлення, це сповільнює систему і потрібні способи ефективнішого оновлення.

Virtual DOM – це абстракція. Це легка копія реального DOM-дерева у вигляді JSON-документа.

Особливості Virtual DOM:

  • Зберігається у пам'яті та не рендериться в браузері

  • Не залежить від внутрішньої імплементації браузера

  • Використовує найкращі практики оновлення реального DOM

  • Збирає оновлення в групи для оптимізації рендерингу (batching)

У React кожен елемент інтерфейсу – це компонент. Компонент може залежати тільки від пропсів і стану. Коли відбувається зміна компонента (змінюється пропс або стан), то створюється нове віртуальне DOM-дерево. Після цього React (breadth-first алгоритм) порівнює віртуальне і реальне DOM-дерево і перемальовує (оновлює) тільки ті компоненти в яких відбулись зміни.

На зображенні вище оновлюються лише гілки зеленого кольору. Порівнюються зміни та обчислюється спосіб найоптимальнішого оновлення реального DOM-дерева.

Покликання:

Порядок оновлення DOM

📚
1️⃣
​
Документація з Reconciliation
Next.js
React Native
Electron
​