Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Введение JS: Redux (React)

Несмотря на всю мощь React, с ростом приложения довольно быстро появляются некоторые неудобства. Одно из самых раздражающих — подъём состояния наверх через колбеки, которые нужно прокидывать в самый низ с того самого верхнего уровня. Прокидывать приходится не только колбеки, но и любые данные. Получается, что множество промежуточных компонентов выступают в качестве прокси, то есть пропускают сквозь себя данные, которыми не пользуются. Второе — рендеринг и логика мешаются в одном месте, быстро раздувая компоненты и усложняя их понимание. Сюда добавляются неконтролируемые побочные эффекты вперемешку с обновлением данных.

Для решения этих проблем стали появляться менеджеры состояния, один из них Redux стал официальным, то есть он поддерживается самим Facebook. Сама по себе Redux очень простая библиотека, предназначенная исключительно для управления состоянием. Она хоть и была разработана для использования в React, но от него не зависит и может использоваться с чем угодно. Для её связи с React понадобится Redux Toolkit, с помощью которого производится необходимая интеграция.

Помимо решения указанных выше проблем, вместе с Redux и его экосистемой пришли дополнительные полезности:

  • Time traveling. Возможность путешествовать по изменению состояния назад и вперёд. Очень полезно при отладке, всегда можно отмотать (это не фигуральное выражение, а действительность) назад
  • Удобная отладка и визуализация. Посредством Middlewares, Redux расширяется инструментарием, который предоставляет крайне удобные средства для отладки и визуализации происходящих внутри процессов. С ними мы познакомимся в ближайшее время, чтобы сразу начать использовать всю мощь Redux
  • Благодаря стандартизации работы с состоянием, которую привнёс Redux, стало возможным автоматизировать практически все аспекты работы в React. Работа с формами, маршрутизация, асинхронность, история и многое другое

В этом курсе мы пройдём по основным возможностям Redux и интегрируем в создаваемое приложение множество разных библиотек. Мы не сможем копнуть в них глубоко, так как объем документации каждой библиотеки тянет на целую книгу, но разберём базовые варианты использования.

Основные темы:

  • Redux
  • Containers
  • Actions (Async)
  • Redux & React

Как подготовиться к этому курсу

Этот курс предполагает, что студент уже уверенно владеет синтаксисом и методами работы с функциями и объектами, а также уметь работать с React. Необходимые пререквизиты для изучения Redux вы можете найти в следующих курсах:


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов для веб-приложений
6 октября 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
6 октября 16 месяцев

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и соглашаетесь с «Условиями использования»