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

Действие отправляется, когда пользователь взаимодействует с приложением.
Функция корневого редуктора вызывается с текущим состоянием и отправленным действием. Корневой редуктор может разделить задачу между меньшими функциями редуктора, которые в конечном итоге вернут новое состояние.
Магазин уведомляет представление, выполняя свои функции обратного вызова.
Представление может получить обновленное состояние и повторно выполнить рендеринг.