# Фреймворк Redux

В этом учебнике мы познакомимся с очень полезной и ценной JavaScript библиотекой Redux (не стоит путать с WordPress фреймворком Redux Framework ;) ). Название Redux, который мы будем изучать, берет начало от двух слов - названия функции Reduce (рус. сокращать, редуцировать, уменьшать) и архитектуры Flux- приложений на React.js, в основе которой лежит использование однонаправленного потока данных.

Прежде всего Redux - это предсказуемый контейнер или хранилище состояний данных приложения. Мы уже сталкивались с понятием состояния или стейта (`state`) при изучении учебника React. С помощью Redux можно писать клиентские, серверные или нативные приложения, которые ведут себя предсказуемо, легко масштабируются и тестируются.

Чем же еще привлекателен Redux? Он помогает нам управлять глобальным состоянием приложения. Инструменты и техники, используемые в Redux, позволяют легче понять где, почему и каким образом поменялся стейт, а также как поведет себя логика приложения в случае таких изменений.

Redux - это самостоятельная библиотека, но ее можно использовать в связке с такими популярными фреймворками, как React, Angular, Vue, а также чистым JavaScript. Забегая немного вперед, скажу, что в нашем учебнике мы будем использовать связку с React.

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

→
↑