1. Введение в экосистему React: JSX, Virtual DOM и создание первого проекта
Введение в экосистему React: JSX, Virtual DOM и создание первого проекта
Добро пожаловать на курс React с нуля. Если вы читаете эту статью, значит, вы решили освоить одну из самых востребованных технологий в мире веб-разработки. React — это не просто библиотека, это стандарт индустрии, который используют такие гиганты, как Facebook (Meta), Netflix, Airbnb и тысячи других компаний.
В этой первой лекции мы не будем просто писать код «вслепую». Мы разберем фундамент: почему React работает именно так, что такое «Виртуальный DOM» и почему мы пишем HTML внутри JavaScript. А в конце занятия мы создадим ваше первое современное приложение.
Что такое React и почему он победил?
React — это JavaScript-библиотека для создания пользовательских интерфейсов, разработанная компанией Facebook в 2013 году. Обратите внимание: это именно библиотека, а не фреймворк (как Angular). Это означает, что React отвечает только за «рисующую» часть приложения (View), давая вам свободу в выборе инструментов для маршрутизации или управления данными.
Главная идея React заключается в компонентном подходе. Представьте, что вы собираете конструктор LEGO. У вас есть маленькие детали: кирпичики, колеса, окна. Из них вы собираете машину. В веб-разработке:
* Кирпичик — это Компонент (кнопка, поле ввода, аватарка). * Машина — это Приложение (страница сайта).
Такой подход позволяет использовать один и тот же код (например, кнопку) многократно в разных частях приложения. Это упрощает поддержку и тестирование.
Virtual DOM: Магия производительности
Одной из самых сложных операций в браузере является работа с DOM (Document Object Model). DOM — это древовидная структура, описывающая вашу HTML-страницу. Когда вы меняете что-то на странице через обычный JavaScript (например, document.getElementById('id').innerHTML = ...), браузеру приходится проделывать огромную работу: пересчитывать стили, размеры элементов и перерисовывать страницу.
Если обновлений много, сайт начинает «тормозить». React решает эту проблему с помощью концепции Virtual DOM (Виртуальный DOM).
Как это работает?
Благодаря этому подходу, React минимизирует медленные обращения к браузеру, делая интерфейс отзывчивым.
JSX: HTML в вашем JavaScript
Когда новички впервые видят код React, они часто удивляются. Это выглядит как HTML, смешанный с JavaScript. Этот синтаксис называется JSX (JavaScript XML).
Посмотрите на пример:
Это не строка и не HTML. Это расширение синтаксиса языка JavaScript. Браузеры не понимают JSX напрямую. Перед запуском специальные инструменты (транспайлеры, например, Babel) превращают этот код в обычный JavaScript:
Почему JSX удобен?
{}.Пример использования переменной:
Важные правила JSX
Поскольку JSX — это всё-таки JavaScript, есть несколько отличий от HTML:
* Один родитель: Компонент должен возвращать только один корневой элемент. Если нужно вернуть несколько, оберните их в <div> или пустой фрагмент <>...</>.
* camelCase: Атрибуты пишутся в верблюжьем регистре. Например, вместо onclick пишем onClick.
* className: Слово class зарезервировано в JavaScript, поэтому для CSS-классов используется атрибут className.
Практика: Создание первого проекта
Раньше стандартом для создания проектов был инструмент create-react-app. Однако сейчас индустрия перешла на более быстрые и современные инструменты. Мы будем использовать Vite (читается как «Вит», с французского «быстро»).
Шаг 1: Подготовка окружения
Для работы React вам понадобится Node.js. Это среда выполнения JavaScript вне браузера. Если она у вас не установлена, скачайте LTS-версию с официального сайта Node.js.
Вместе с Node.js установится npm (Node Package Manager) — менеджер пакетов, который позволит нам скачивать библиотеки.
Шаг 2: Инициализация проекта
Откройте терминал (командную строку) и перейдите в папку, где хотите создать проект. Введите команду:
Где my-first-react-app — название вашей папки с проектом.
После выполнения команды, перейдите в папку и установите зависимости:
Теперь запустите проект:
В терминале появится ссылка (обычно http://localhost:5173). Откройте её в браузере. Поздравляю, ваше приложение работает!
Разбор структуры проекта
Давайте откроем папку проекта в редакторе кода (рекомендую VS Code) и посмотрим, что внутри.
Основные файлы
<div id="root"></div>. Именно сюда React будет «встраивать» всё ваше приложение.App и помести его внутрь элемента с id root».Ваше первое изменение
Давайте очистим App.jsx от лишнего и напишем свой код. Удалите всё содержимое файла и вставьте следующее:
Сохраните файл. Браузер обновится автоматически, и вы увидите свой текст. Вы только что создали свой первый React-компонент!
Заключение
Сегодня мы заложили фундамент. Мы узнали, что React использует Virtual DOM для скорости, компоненты для повторного использования кода и JSX для удобного описания интерфейса. Мы также настроили современное окружение с помощью Vite.
В следующей статье мы углубимся в то, как делать компоненты живыми и интерактивными, изучив Props и State.
> «Любая достаточно развитая технология неотличима от магии». — Артур Кларк. Законы Кларка
Для React этой «магией» является Virtual DOM, но теперь вы знаете секрет фокуса.