React.
JSX и фигурные скобки, пропсы и children, состояние useState, списки через .map, контролируемые поля — и проекты: викторина и чек-лист игрока.
Программа курса
Компоненты
- 0110 XP
Первый компонент
Открой вкладку JSX. Напиши компонент App — функцию, которая возвращает заголовок <h1> с любым текстом, — и покажи его на странице через ReactDOM.createRoot.
- 0210 XP
Фигурные скобки в JSX
Сделай карточку квиза с классом card: внутри — заголовок <h2> с названием, строка «Игрок: …» с именем из переменной player и строка «Очки: …», где число посчитано прямо в JSX — {10 + 15}.
- 0310 XP
Пропсы
Сделай компонент QuizCard, который получает пропсы title и desc — заголовок и описание карточки. Покажи через него две карточки: «Кино» и «Космос» с разными описаниями.
- 0410 XP
Пропс children
Сделай компонент-обёртку Panel с пропсами title и children: заголовок панели и всё, что написано между <Panel> и </Panel>. Внутри панели размести список из двух-трёх тем квиза.
Состояние
- 0510 XP
Счётчик очков
Очки команды: сделай счётчик на useState — в #score показывается число, по клику на кнопку «+1 очко» оно растёт на единицу.
- 0610 XP
Показать ответ
Кнопка «Показать ответ» открывает и прячет ответ квиза: состояние show начинается с false, переключается по клику, а абзац с ответом в #answer рендерится только когда show — правда: {show && <p>…</p>}.
- 0710 XP
Список тем
Темы квиза лежат в массиве topics — минимум три. Покажи каждую отдельным пунктом <li> через .map и не забудь key у каждого пункта.
Ввод и списки
- 0810 XP
Живое приветствие
Сделай поле ввода имени и приветствие «Привет, …!» в #greet, которое обновляется на каждое нажатие клавиши. Поле — контролируемое: value из состояния и onChange.
- 0910 XP
Копилка тем
Сделай копилку тем квиза: в старте уже есть пара тем в массиве, input и кнопка «Добавить» кладут новую тему в список, а поле очищается. Массив меняют копированием: setTopics([...topics, новая]).
Проекты
- 1020 XP
Проект: мини-викторина
Собери мини-викторину из двух компонентов: QuestionCard с пропсами q и a показывает вопрос и (если открыт) ответ в #answer; App хранит массив вопросов и номер текущего. Кнопка #next шагает по вопросам по кругу, #reveal открывает ответ.
- 1130 XP
Босс: чек-лист игрока
Финал курса — приложение «Чек-лист игрока». Дела добавляются через input и кнопку «Добавить», клик по делу отмечает его выполненным (класс done и галочка), в #counter считается «Выполнено X из Y». Одно состояние-массив из объектов { text, done } — и всё приложение.
От понимания к результату
В каждом уроке: задание, редактор кода, живой результат, подсказки и проверка. Начни с простого и собери собственные учебные проекты.
Можно заниматься без регистрации. Создай аккаунт, если хочешь сохранять прогресс между устройствами.
Открыть курс