Хотите наконец понять, как работает React под капотом? В этом видео мы напишем мини-React с нуля — без зависимостей, без библиотек и без магии. Всего 200 строк чистого JavaScript, и вы увидите: • как создаётся Virtual DOM, • почему обновление интерфейса — это просто вызов функции, • как работает useState и useMemo, • и почему весь React — это не фреймворк, а идея. Мы шаг за шагом создадим свой движок, добавим поддержку JSX-подобного синтаксиса и напишем два компонента: Viewer и Counter. К концу видео вы сможете объяснить, как работает React… даже тем, кто его создал Исходные коды проекта здесь:
Делитесь в комментариях, что бы вы добавили в свой мини-React! Таймкоды: 00:00 — Вступление. Что если React — это просто функции? 00:40 — Главная идея: UI как функция состояния 01:20 — Функция createElement - сердце виртуального мира React 02:37 — Функция для создания Fragment - контейнера, не влияющего на структуру DOM 03:24 — Рендеринг DOM руками 04:40 — Виртуальный DOM — зачем он нужен? 05:25 — Обновление элементов виртуального DOM 06:29 — Мини-реализация useState 08:34 — Мини-реализация useMemo 10:21 — Функция запуска рендера дерева виртуальных компонентов 11:37 — Функция запуска приложения 12:10 — Реализация корневого компонента App 12:34 — Какие задачи решает JSX и реализованный простой JSX- подобный парсер 13:48 — Парсер для разбора html подобной строки 15:10 — Разбор структуры корневого компонента App 15:50 — Запуск приложения 16:10 — Разбор компонентов Counter и Viewer 18:45 — Меняем рендер на базе createElement на использование JSX-подобного парсера 19:13 — Финальный запуск приложения и выводы Подходит для: фронтенд-разработчиков, студентов и всех, кто хочет понять, как под капотом работают React. Подписывайтесь на канал, чтобы не пропустить новые видео Сериал "Создание SPA приложения на чистом JS": • SPA приложение на чистом JS - часть 1 #eas... Полезные видео для лучшего понимания JS: Стрелочные функции 1 - • Стрелочные функции | Arrow functions Стрелочные функции 2 - • Особенности стрелочных функций #easyit #n... Макро и микро задачи - • Макро и Микро задачи в JavaScript #easyit... Web worker - • Web worker - как распараллелить вычислени... Service worker - • Service worker - управление обработкой за... Debouncing/throttling - • Debouncing/Throttling - разгрузка обработч... Видео по работе с vite.js: • Знакомимся с Vitejs. Портирование проекта,... Полезные видео по настройке webpack: Минимальная конфигурация - • Настраиваем сборку проекта с помощью webpack Настройка горячей перезагрузки - • Webpack 5 Настройка горячей перезагрузки |... Настройка сборки проекта с подгрузкой файлов css/scss/изображений - • Webpack 5 Настройка сборки проекта с подгр... Настройка сборки мультистраничного сайта - • Пример конфигурации сборки мульти-страничн... Самый простой способ установить nodejs на Linux и Mac: • Установка Nodejs на Linux и MacOS. #easyit #javascript #js #vanillajs @EasyITChannel