Прежде чем я перейду к делу, давайте начнем с определения Redux и проблем, которые он решает.

Redux – это библиотека JavaScript с открытым исходным кодом для управления состоянием приложения.

По сути, это компиляция всех состояний компонентов в приложении, которая хранится в изолированном хранилище, и вы можете получить к ней доступ из любого подключенного к ней компонента, не применяя технику подъема состояния. Он решает многие проблемы, связанные с масштабированием приложения, читабельностью кода и соблюдением принципа DRY.

Масштабирование

Как только приложение получает много связанных компонентов, такое же количество состояний будет увеличиваться, тем самым заполняя родительские компоненты тоннами данных. Таких «хранилищ» в приложении может быть много, особенно если много модулей.

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

Читаемость кода и DRY

Чтобы начать работу с Redux, вы должны создать reducer, action/ action creator и storage(узнайте больше о Flux). Каждое действие и редюсер должны быть чистой функцией. Это помогает убрать ошибки, вызванные изменением входных данных, и сделать функции многоразовыми. По сравнению с состоянием компонента, состояние приложения нужно передавать в props только один раз в основном компоненте и обертывать другие.