Работа Redux приложения
Теперь, вооружившись терминами, мы можем кратко рассмотреть основные этапы работы приложения на Redux, которое вы будете создавать в дальнейшем.
Работа приложения происходит согласно идеи однонаправленности данных, как мы уже упомянали ранее.
На этапе инициализации (при первом запуске приложения) при помощи корневого редьюсера создается хранилище store. Хранилище вызывает этот редьюсер только раз и записывает возвращаемое им значение в качестве начального состояния. При первичном рендеринге компоненты приложения используют текущий стейт, записанный в хранилище. Также они подписываются на обновления хранилища, чтобы сразу же узнать об изменении стейта.
При дальнейшей работе приложения происходит следующее. Предположим, пользователь сделал клик мышкой по кнопке. В этом случае с с помощью кода формируется экшн, который отправляется в хранилище. Хранилище снова запускает редьюсер с хранящимся в нем состоянием и полученным экшеном. В результате измененное значение стейта сохраняется в качестве нового. Также хранилище уведомляет подписанные на изменения компоненты о том, что изменения имели место быть. В свою очередь компоненты смотрят, если необходимые им части состояния были изменены. Наконец, если изменения имели место, то компонент вызывает рендеринг для отображения уже новых данных.