Działanie aplikacji Redux
Teraz, uzbrojeni w terminologię, możemy krótko omówić główne etapy działania aplikacji opartej na Redux, którą będziesz tworzyć w przyszłości.
Działanie aplikacji odbywa się zgodnie z ideą jednokierunkowego przepływu danych, jak wspomnieliśmy wcześniej.
Na etapie inicjalizacji (podczas pierwszego uruchomienia aplikacji) za pomocą głównego reduktora tworzone jest store. Store wywołuje ten reduktor tylko raz i zapisuje zwracaną przez niego wartość jako początkowy stan. Podczas pierwszego renderowania komponenty aplikacji wykorzystują bieżący stan, zapisany w store. Subskrybują również aktualizacje store, aby natychmiast dowiedzieć się o zmianie stanu.
Podczas dalszej pracy aplikacji zachodzi następująca sytuacja. Załóżmy, że użytkownik kliknął myszką przycisk. W tym przypadku za pomocą kodu tworzona jest akcja, która jest wysyłana do store. Store ponownie uruchamia reduktor z przechowywanym w nim stanem i otrzymaną akcją. W wyniku tego zmieniona wartość stanu jest zapisywana jako nowa. Store również powiadamia subskrybujące zmiany komponenty o tym, że zmiany miały miejsce. Z kolei komponenty sprawdzają, czy potrzebne im części stanu zostały zmienione. Wreszcie, jeśli zmiany miały miejsce, komponent wywołuje renderowanie w celu wyświetlenia już nowych danych.