React — это мощный инструмент, но все равно в нем появляются некоторые неудобства при работе с большими приложениями.
Одно из самых раздражающих — подъем состояния наверх через колбеки, которые нужно прокидывать вниз с самого верхнего уровня. Прокидывать приходится не только колбеки, но и любые данные. Получается, что множество промежуточных компонентов выступают в качестве прокси — они пропускают сквозь себя данные, которыми не пользуются.
Второй раздражающий фактор — рендеринг и логика смешаны в одном месте, что быстро раздувает компоненты и усложняет понимание. Сюда же добавляются неконтролируемые побочные эффекты вперемешку с обновлением данных.
Для решения этих проблем появились менеджеры состояния, в том числе Redux — официальный менеджер, который поддерживает сама компания Facebook.
Как работают Redux и Toolkit
Redux — это очень простая библиотека, предназначенная исключительно для управления состоянием. Ее разрабатывали под использование в React, но на самом деле от React она не зависит — можно использовать ее с чем угодно.
Для связи Redux с React понадобится Redux Toolkit, через который мы произведем всю необходимую интеграцию. Redux Toolkit не просто склеивает Redux и React. Он меняет способ работы с Redux до неузнаваемости, привносит множество полезных абстракций — например, широко используемые мидлвары.
Цель этой библиотеки — сделать хранение, извлечение и использование данных максимально удобными, убрав шаблонный код, характерный для приложений на Redux.
Redux Toolkit вводит много новых понятий, которые тяжело рассматривать в отрыве от общей картины. Поэтому сначала мы без погружения рассмотрим пример, в котором все собрано в одном месте, а уже в следующих уроках разберем по косточкам каждый элемент.
Зачем нужны классы, функции, хуки и Redux Toolkit
Зачем так усложнять эту тему? Сначала мы изучаем React на классах, потом на функциональных компонентах и хуках, затем в связке с Redux. В итоге мы заменяем Redux на Redux Toolkit. К счастью, это финальная точка в этом путешествии.
React развивался именно так: сначала одно, потом другое, потом третье, а теперь пришел к Toolkit. Все это нужно знать, потому что под капотом у Toolkit все еще работает Redux. Да и хуки не заменяют классы — они останутся навсегда.
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.