
О курсе React курс с нуля. Полноценное Приложение. Веб разработка
В данном уроке делаю структурированный обзор того, что изучим в процессе прохождения курса
Обзор полноценного приложения на React, всей функциональности приложения, которое напишем в процессе курса
В уроке рассказываю для чего нужен реакт, зачем его использовать и в чем его преимущества
В данном уроке подготавливаем необходимые инструменты для разработки приложения
В уроке изучаем структура проекта которую развернулся нам vite, знакомимся с package json, ESLint и jsx
В уроке устанавливаем необходимые зависимости (node modules) в проект, которые прописаны в package.json. Далее запускаем приложение и устанавливаем полезное расширение для google chrome React Developer Tools
В уроке узнаем что такое Hot Module Replacement и посмотрим на примере
В уроке узнаем с чего начинается любое React приложение, где его входная дверь (точка), коснемся глобальных стилей и создадим первый (кирпичик) компонент
В уроке изучим понятие сниппеты, создадим сниппеты под себя и ускорим разработку
В уроке применяем стили через специальный атрибут React className (вместо class в обычном HTML) и также применяем инлайновые стили через атрибут style
В уроке настраиваем ESLint, чтобы VSCode в каждом файле мог сразу подчеркивать код согласно правилам. Настроим правило и установим расширение, также научимся смотреть логи ESLint в среде для разработки
В данном уроке познакомимся с технологией CSS Modules (CSS Модули). Узнаем про локализацию стилей для каждого компонента, как в React предусматривается избежание конфликтов стилей и также сможем применять стиль в зависимости от условия
В данном уроке логируем CSS модуль, изучим еще один способ для применения классов в зависимости от условий
В уроке изучаем properties (props) у компонента и также изучим интерполяцию
В уроке научимся красиво декомпозировать (деструктурировать) пропсы
В данном уроке узнаем как React работает с состоянием. Узнаем что такое хуки и будем использовать первый хук useState
Важный и фундаментальный урок в котором показываю как происходят перерисовки в React, как дебажить перерисовки, также узнаем что такое строгий режим (Strict Mode) и в чем его роль, и научимся обновлять состояние (useState) синхронно.
Теоретический урок, где концептуально и верхнеуровнево поймем как работает обновление состояния в React
В уроке узнаем как отрисовывать на странице сразу много элементов (списки) и зачем к спискам нужны ключи
В уроке узнаем что такое Prettier и зачем он нужен, также установим и настроем плагин prettier для ESLint. Создадим ветку dev и будем готовы к написанию полноценного приложения
В уроке настроим глобальные стили для всего приложения. Также подготовим базу для работы с темой и создадим необходимые переменные
В уроке настроим общую разметку (Main Layout) для всего приложения (всех страниц)
В уроке установим дополнительную библиотеку react-router-dom для роутинга (маршрутизации) в приложении и настроим провайдер для приложения
В уроке создадим переиспользуемый Header для всего приложения и встроим его в MainLayout
В уроке создаем самый переиспользуемый компонент, а именно компонент кнопки (Button)
В Уроке задекларируем HomePage в роутинге, сделаем первую навигацию по клику с помощью хука useNavigate и нарисуем QuestionCard компонент
В уроке создадим локальную базу данных, добавим пропсы для компонента карточки (QuestionCard), узнаем про фрагменты в React и задекларируем динамический роут
В уроке создадим страницу Not Found и пропишем логику, чтобы данная страница отображалась на любые несуществующие маршруты
В уроке поднимем локальный сервер. Для этих целей будем использовать простую библиотеку JSON Server
В уроке пишем асинхронную функцию для получения данных с сервера
В уроке показываю, как можно легко заставить React делать бесконечные перерисовки (ре-рендеры) и почему так происходит.
В уроке изучим один из самых важных хуков - useEffect. Узнаем про жизненный цикл компонента
В уроке имплементируем компонент QuestionCardList, в котором реализуем отрисовку всех карточек с вопросами
В уроке создаем периспользуемый компонент Loader или его еще называют спиннер, чтобы он был как индикатор загрузки данных
В уроке создаем delayFn - функцию для искусственной задержки запросов
В уроке создаем пользовательский (кастомный) хук useFetch и получаем данные с сервера
В уроке делаем clean code, подчищаем за собой
В уроке узнаем про концепцию неуправляемого инпута в React и познакомимся с хуком useRef
В уроке имплементируем управляемый инпут (input) с помощью хука useState
В уроке узнаем про мемоизацию, как предотвратить лишние перерисовки (ре-рендеры) и про функцию memo в React
В уроке кратко рассказываю про будущие возможности React Complier
В уроке начнем реализовывать компонент SearchInput, возьмем иконку с официального сайта доки по React и сделать файл с иконками (спрайтами) и используем хук useId, чтобы связать label и input элементы
В уроке показываю как вернуть отображение кода у SVG файлов после обновления VSCode в январе 2025
В уроке реализуем стили для SearchInput компонента
В уроке создадим Badge компонент, который будет использоваться в каждой карточке с вопросами и применять классы в зависимости от состояний
В уроке реализуем логику фильтрации карточек с помощью метода filter, подебажим перерисовки и применим хук useMemo
В уроке удаляем код который нужен был для тестов и добавляем стили для красивого отображения no cards
В уроке создаем селект для сортировки карточек и стилизуем его
В уроке разберем API у JSON Server для сортировки карточек и напишем соответствующую логику
В уроке реализуем логику пагинации (навигации по страницам). Для этого будем использовать состояние в React и JSON Server
В уроке реализуем логику динамической отрисовки нужного количество кнопок для пагинации
В уроке улучшим UX (user experience) изменив немного логику для отрисовки кнопкок пагинации
В уроке добавим событие на все кнопки для пагинации применив паттерн делегирования событий
В уроке реализуем логику для того, чтобы активный номер страницы был выделен другим цветом.
В уроке реализуем логику, чтобы при переключении страниц срабатывал автоматический скролл до верха страницы
В уроке получаем наслаждение от уже проделанной работы, чувствуем этот момент и смотрим что будем реализовывать дальше
В уроке создаем Count Select для того чтобы иметь возможность изменять количество карточек для отрисовки на одной странице
В уроке делаем маленький фикс, для того чтобы, если у нас только одна страница, то кнопка для пагинации не отображалась
В уроке смотрим на страницу которую будем реализовывать (QuestionPage)
В уроке подготавливаем всю базу для реализации страницы QuestionPage
В уроке пишем всю разметку для Question Page, прорабатываем много мелочей
В уроке меняем цвет всех кнопок для двух цветовых тем, также реализовываем проверка card на null и правильную отрисовку компонента без ошибок
В уроке реализуем логику получения данных карточки с сервера и познакомимся с хуком useParams
В уроке напишем логику включающую работу с сервером и отрисовку на UI, чтобы изменять состояние completed
В уроке добавим в приложение еще один лоадер и интегрируем его в Question Page
В уроке установим дополнительную библиотеку с тостами для красивых уведомлений
В уроке подготавливаем компонент для реализации Add Question Page
В уроке реализуем форму в рамках Add Question Page
В уроке добавляем стили для страницы Add Question Page
В уроке подключаем в форму и разбираем хук useActionState
В уроке пишем логику для функции createCardAction которую передаем в хук useActionState
В уроке пишем логику для POST запроса, что создать полноценную карточку с вопросом и добавить ее в бд
В уроке реализовываем обработку ошибок при создании нового вопроса в Add Question Page
В уроке добавить лоадер (loader) на страницу при запросе на бэк
В уроке изучем React lazy и сделаем ленивую загрузку компонента Add Question Page
В уроке выносим форму из Add Question Page в отдельный самостоятельный компонент, чтобы дальше переиспользовать еще и в Edit Question Page
В уроке создадим Edit Question Page, добавить ее в роутинг и пропишем логику получения вопроса
В уроке реализуем логику заполнения формы данными в Edit Question Page
В уроке реализовываем логику editCardAction который прокидывается в useActionState и напишем функцию-хелпер dateFormat для красивого форматирования дат
В уроке напишем разметку для кнопки удаления вопроса
В уроке пишем логику удаления вопроса
В уроке изучим концептуально что такое React Context
В уроке добавим состояние isAuth к некоторым кнопкам и также будем хранить его в localStorage
В уроке реализовываем логику защищенных станиц (protected routes), чтобы только пользователи, которые залогинелись могли ходить на определенные страницы
В уроке пишем логику редиректов на страницы с которых попали на Forbidden page
В уроке реализуем логику ленивой загрузки Edit Question Page
Добро пожаловать!
Это курс по React и TypeScript, популярной библиотеке для написания пользовательских интерфейсов. С помощью данной библиотеки писать приложение превращается в приятное и увлекательное путешествие.
В курсе вас ждет:
• Весь нативный React — от самой базы до продвинутых концепций, с нуля и шаг за шагом вместе с преподавателем.
• Написание полноценного крутого рабочего приложения с классным дизайном, которое смело можно положить в портфолио. Также в процессе написания данного приложения вы в легкой форме сможете закрепить инструменты React.
• Изучение ключевых библиотек экосистемы React, включая актуальный синтаксис и современные стандарты разработки.
• Более 150 видеоуроков, раскрывающих все нюансы создания веб-приложений на React.
• БАЗА (Vite, ESLint, JSX, props, keys, CSS modules, Virtual DOM, strict mode, компоненты, условный рендеринг)
• Хуки - useState, useRef, useEffect, useLayoutEffect …
• React Context (useContext)
• Роутинг (React Router Dom), useParams, useLocation
• Мемоизация (useMemo, memo)
• Отправка форм (useActionState)
• Кастомные хуки (useFetch, useAuth, useTheme)
• Dark mode & Light Mode (цветовые темы) | Pro
• Базовый логин/логаут (аутентификации)
• Приватные (защищенные) маршруты (private routes)
• CRUD операции (GET, POST, PATCH, DELETE)
• Ленивая загрузка (lazy loading)
• Фильтрация, Пагинация, Сортировка
• Мобильная адаптация (mobile friendly)
• Полный курс по TypeScript
• Интеграция TypeScript в написанное приложение. Типизация всего приложения
Современный формат обучения. Также всю необходимую базу по HTML, CSS, препроцессорам SCSS, CSS Flexbox, CSS Grid, Accessibility, БЭМ, GIT, Parcel, SEO, верстке макетов, JavaScript, ООП, написанию приложений на чистом JS можно получить у меня в прекрасных и структурированных уроках на популярном всем хостинге.