Funzionamento di un'applicazione Redux
Ora, armati della terminologia, possiamo brevemente esaminare le fasi principali del funzionamento di un'applicazione Redux, che creerai in seguito.
Il funzionamento dell'applicazione segue l'idea di flusso di dati unidirezionale, come abbiamo già menzionato in precedenza.
Nella fase di inizializzazione (al primo avvio dell'applicazione) tramite il reducer radice viene creato lo store. Lo store chiama questo reducer una sola volta e registra il valore da esso restituito come stato iniziale. Durante il rendering iniziale, i componenti dell'applicazione utilizzano lo stato corrente, memorizzato nello store. Inoltre, si sottoscrivono agli aggiornamenti dello store per essere immediatamente informati di eventuali cambiamenti di stato.
Durante il funzionamento successivo dell'applicazione, avviene quanto segue. Supponiamo che l'utente abbia cliccato con il mouse su un pulsante. In questo caso, tramite il codice, viene formata un'azione (action), che viene inviata allo store. Lo store esegue nuovamente il reducer con lo stato in esso memorizzato e l'azione ricevuta. Come risultato, il valore modificato dello stato viene salvato come nuovo. Inoltre, lo store notifica ai componenti sottoscritti agli aggiornamenti che delle modifiche sono avvenute. A loro volta, i componenti controllano se le parti dello stato a loro necessarie siano state modificate. Infine, se delle modifiche sono avvenute, il componente avvia il rendering per visualizzare i nuovi dati.