Redux следует за однонаправленным потоком данных. Это означает, что данные вашего приложения будут следовать в одностороннем связующем потоке данных. По мере того как приложение растет и усложняется, становится трудно воспроизводить проблемы и добавлять новые функции, если вы не контролируете состояние своего приложения.
Redux уменьшает сложность кода, обеспечивая ограничение на то, как и когда может происходить обновление состояния. Таким образом, управление обновленными состояниями легко. Мы уже знаем об ограничениях как о трех принципах Redux. Следующая диаграмма поможет вам лучше понять поток данных Redux —
Действие отправляется, когда пользователь взаимодействует с приложением.
Корневая функция-редуктор вызывается с текущим состоянием и отправленным действием. Корневой редуктор может разделить задачу между меньшими функциями редуктора, что в конечном итоге возвращает новое состояние.
Хранилище уведомляет представление, выполняя их функции обратного вызова.
Представление может получить обновленное состояние и повторно выполнить рендеринг.