# Неделя #3 Погружаемся в Redux
# Подготовка к выполнению задания
- Изучить все материалы второй недели курса в Личном кабинете.
# Что нужно сделать?
# Выполнить домашнее задание #7 (Пицца!)
Готовим пиццу! В данной работе нужно написать единственный редьюсер, который обрабатывает заказы на пиццу.
Все компоненты работают только с одним массивом заказов, но, все данные в этом заказе уже есть. Посмотрите с помощью redux-dev-tools какие экшены отправляются по нажатию на кнопки.
Все компоненты присутствуют, коннекты тоже, ваша задача — разобраться с редьюсерами.
Порядок работы:
- Получите домашнее задание №7 (
react-course -h homework-7-pizza) - Ознакомиться с примером работы, чтобы понять, как будет выглядеть финальное приложение.
- Изучите
cypress/integration/homework.spec.jsчтобы понять какой функционал должен быть реализован. - Начните работу с
src/reducers/orders.js. В нем необходимо определить редьюсер для обработки заказов.
# Выполнить домашнее задание #8 (TV Maze catalog)
Используя api сервиса tvmaze.com необходимо построить систему поиска сериалов по названию и описанию. Также требуется сделать роутинг и переходы на страницы найденных сериалов. На страницах сериалов нужно обязательно отразить актеров, которые участвовали.
Требования к домашнему заданию:
- Для работы с api в репозитории будет находится фаил
src/api.jsс готовыми функциями для поиска и получения сериала по id. - Сетевые запросы должны совершаться из middleware.
- Для работы с асинхронными запросами нужно воспользоваться 3 экшенами
_REQUEST,_SUCCESS,_FAILURE. - Для создания всех экшенов использовать метод createAction из библиотеки redux-actions.
- Для описания редьюсеров желательно использовать метод handleActions из библиотеки redux-actions.
- Для каждого сериала url страницы должен выглядеть как
/shows/:idгде id — id сериала с сайта tvmaze.com. - При переходе на страницу сериала из поиска должен совершать сетевой запрос за информацие о сериале, и в это время нужно отражать надпись, сообщающую о том, что происходит загрузка.
- При поиске на странице поиска также должна выводиться надпись о том, что происходит загрузка, пока происходит сетевой запрос.
- Выдача результатов поиска должна содержать картинки, краткое содержание и ссылку на страницу сериала.
Подсказки
Поле summary в ответах на запросы api.tvmaze.com содержит описание вместе с html тегами. Чтобы вывести html в реакте, воспользуйтесь методом dangerouslySetInnerHTML:
<div dangerouslySetInnerHTML={{__html: summary}} />
Порядок работы:
- Получите домашнее задание №8 (
react-course -h homework-8-tv-maze-catalog) - Ознакомиться с примером работы.
- Изучите
cypress/integration/homework.spec.jsчтобы понять какой функционал должен быть реализован. - Начните работу с
AppRouter.js. В нем необходимо определить роутер вашего приложения. - Реализуйте страницу поиска в файле
Search.jsвам также потребуется реализовать компонентShowPreview. - Реализуйте страницу шоу
ShowPage. - Создайте редьюсеры show и search. Используйте метод
combineReducers. Для начала можете захардкодить данные. - Создайте стор в
store.js. - Подключите redux к вашим компонентам при помощи connect.
- Реализуйте
searchMiddlewareиshowMiddleware. В них вы будете выполнять запросы на сервер. - Запустить тесты и убедиться, что они прошли
- Сделайте коммит и пуш изменений
- Создайте пулл реквест и отправьте его на проверку наставнику
# Выполнить домашнее задание #9 (Github followers list)
Ваша задача написать используя redux-saga написать небольшое приложение, получающее информацию о пользователе и его подписчиков. Необходимо написать саги, редьюсеры, компоненты и роутер
Порядок работы
- Получите домашнее задание №9 (
react-course -h homework-9-github-follower-list) - Ознакомиться с примером работы, чтобы понять, как будет выглядеть финальное приложение.
- Начните работу с Router.js. В нем необходимо определить роутер вашего приложения.
- Реализуйте store.js подключите саги и
redux-developer-tools. - Реализуйте модули Auth, User и Followers. Они организованы по методу ducks.
- Допишите недостающий код в компонентах.
- Запустить тесты и убедиться, что они прошли
- Сделайте коммит и пуш изменений
- Создайте пулл реквест и отправьте его на проверку наставнику
# Как всё успеть?
Данный план является примерным ориентиром. Вы всегда можете работать в удобном для себя темпе.
# 🗓 Понедельник
Изучаем материалы модуля "I Redux".
Изучаем домашнее задание 7 и выполняем его.
Подготовьте вопросы к данному модулю.
# 🗓 Вторник
Изучаем материалы модуля "I Redux".
Возможно все еще выполняем домашнее задание 7.
# 🗓 Среда
Сдаём домашнее задание 7 на проверку.
Изучаем материалы модуля "II Redux".
Работаем над домашним заданием 8.
Подготовьте вопросы к данному модулю.
# 🗓 Четверг
Работа над дз8.
# 🗓 Пятница
Сдаём домашнее задание 8 на проверку.
Приступаем к домашнему заданию 9.
20:00. Участвовать в практическом вебинаре.
# 🗓 Суббота
Работа над ДЗ9
Изучаем материалы модуля "I Redux-saga".
# 🗓 Воскресенье
Работа над ДЗ9
Созваниваемся с наставником
Сдаём домашнее задание 9 на проверку.