Redux — это библиотека для управления состоянием, основанная на структуре Flux. Является аналогом базы данных. Была создана в 2015 году для совместной работой с React, но может использоваться совместно с другими фреймворками.
Особенности Redux:
- Главный принцип — «Редакс является единственным источником истины». Существует одно хранилище на все приложение, хранящее все необходимые данные. Это позволяет поддерживать актуальность данных, а также избежать прокидывания данных от родителей к потомкам через пропы.
- Состояние доступно только на чтение, менять его можно только при помощи предопределенных действий (actions).
- Состояние меняется при помощи чистых функций — хранилище состоит из редьюсеров, получающих на вход текущее состояние и действие, которое нужно выполнить с состоянием, и возвращающих новое состояние.
- Redux разделяет логику работы приложения и логику вывода данных.