Создание нового проекта
Для начала давай придумаем, как назвать свое новое приложение. Это должа быть цифробуквенная последовательность без пробелов (вместо них используй дефисы или подчеркивания).
В этом примере мы будем создавать приложение hello-world
, так что во всех местах, где ты видишь это название, мысленно заменяй его на своё.
Шпаргалка для продолжающих
Если это твой первый проект, пройди в Руководство для начинающих, там подробно описаны все шаги по созданию приложения-заготовеи, а также краткий обзор основных компонентов. Если тебе уже все это знакомо, то здесь представлен краткий список шагов по созданию нового приложения.
Открой терминал в VSCode и перейди в папку, где ты хочешь создать проект
Используй CRA для создания проекта:
Перейди в папку только что созданного приложения:
Запусти приложение:
Откроется браузер, а в терминале должна появиться фраза "Compiled successfully!"
Если потерялась вкладка с приложением, в том же терминале есть ссылка, по которой ты найдешь свое приложение
Удали все лишнее из приложения (см. раздел Очистка заготовки приложения)
Руководство для начинающих
Создание стартового проекта
Мы используем пакет create-react-app
(далее — CRA
) для создания базы нашего приложения. Первым аргументом CRA принимает имя папки, которую он создаст и в которой он создаст все файлы, необходимые для работы нашего приложения.
Процесс займет пару минут, можно пока пойти налить чай.
Когда CRA закончил работать, мы можем открыть созданный проект. Выбери в меню File > Open
папку проекта (hello-world
на рабочем столе).
Слева в интерфейсе должно появиться дерево папок. Найди в нем файл src/App.js
и переименуй в App.jsx
(правая кнопка > Rename
)
Запуск стартового проекта
Вернемся обратно в терминал. Нам нужно выполнить команду npm start
для запуска приложения, но для этого нам нужно быть в папке приложения. Если мы сейчас в папке рабочего стола, то можно набрать
и нажать Enter
. Если же мы находися в папке аккаунта (C:\Users\<username>
), то надо сначала попасть на рабочий стол, как мы это делали выше.
Теперь, в папке проекта, мы можем выполнить
Должен открыться браузер. Если то, что ты видишь в браузере, выглядит так, как на картинке, то мои поздравления!
Обзор основных файлов
Время посмотреть, как работает наше приложение. У нас в проекте достаточно много файлов, но на данный момент нас интересуют всего три:
public/index.html
public/index.html
Это уже большой файл, но по большей части там только <!-- комментарии -->
. Редактировать его мы будем нечасто (если вообще будем), но здесь есть одно интересное место. У меня это 31 строка:
Держи это место в уме следующие несколько минут.
src/index.js
src/index.js
Этот файл мы тоже не будем трогать (На самом деле будем, но единожды), но он — то, с чего начинается наше приложение.
Здесь нас интересует вот такая конструкция:
Краткая информация: здесь мы отдаем инструкцию отобразить <App/>
(следующий пункт) внутри <div id="root"></div>
(прошлый пункт).
Полная информация: Эта конструкция связывает корень нашего приложения (App.jsx
) и HTML-документ.
Эта информация дана для более глубокого понимания принципа работы приложения. Если ты находишь ее трудной для понимания, смело пропускай этот пункт.
Давай разберем ее по частям:
ReactDOM.render()
— функция, которая отрисовывает указанное дерево React-компонентов в определенном месте веб-страницы. Этот кусок кода — это и есть "дерево React-компонентов":
Все, что тебе надо знать про React.StrictMode
- то, что это невидимый компонент, который "активирует дополнительные проверки и предупреждения для своих потомков". А потомок тут только один: <App/>
— это как раз все наше приложение (о нём ниже).
document.getElementById('root')
— функция, которая достает из HTML-документа элемент с указанным ID (в данном случае 'root'
). Это тот самый <div id="root"></div>
из прошлого пункта.
src/App.jsx
src/App.jsx
Это "корень" нашего приложения. Здесь ты можешь видеть стандартные для HTML теги <p>
, <a>
, <div>
и другие. Вместе с HTML-тегами можно использовать JSX-теги, которые вставляют в твой документ Реактовские компоненты (такие же, как сам <App/>
). Правило простое: если тег начинается со строчной буквы — это HTML-тег, если с заглавной — React-компонент.
Задание: Пока же давай экспериментировать. Поменяем текст внутри блока <p>
на какое-нибудь приветствие. Потом поменяем ссылку и текст в <a>
на ссылку своего профиля в соцсеточке. Сделав это, нажми Ctrl+S
для сохранения файла. Страничка в браузере должна перезагрузиться сама (благодаря некоторой магии).
Если страница в браузере была закрыта, открой терминал в VSCode, там должна быть ссылка на приложение:
В этой же консоли будут отображаться все ошибки, которые возникнут при сборке приложения
Очистка заготовки приложения
Внимание! Не забывай сохранять файлы после каждого изменения
Откроем файл src/App.jsx
и удалим все внутри <div className="App">
, а также строку с импортом лого (import logo ...
) Функция App
должна принять такой вид:
Откроем src/App.css
и удалим все его содержимое. Эти стили нужны были для демо-страницы, больше они не пригодятся.
(опционально) Из папки src
можно удалить файлы:
App.test.js
logo.svg
setupTests.js
(опционально) Удали файл src/serviceWorker.js
, а в файле src/index.js
удали строчки (они в разных концах файла)
Last updated