Redux è una libreria JavaScript opensource utilizzata per gestire lo stato dell’applicazione. È più comunemente utilizzato con librerie come React o Angular per costruire interfacce utente. Vanila JavaScript e jQuery possono essere parzialmente utilizzati, ma hanno dei limiti. Il concetto principale dietro Redux è avere una singola fonte di verità, anche chiamata “store”. Si può pensare al Redux store come a un modello per l’intero stato dell’applicazione.
Il flusso di dati in Redux segue i seguenti passaggi:
1. Azione: un’azione è un oggetto JavaScript semplice che invia dati dal tuo codice all’archivio. Gli azionamenti sono l’unico modo per ottenere dati nel negozio.
1. Reducer: i reducer sono funzioni che prendono l’azione corrente e la copia corrente dello stato dell’applicazione, aggiornano lo stato in base all’azione e restituiscono la nuova copia dello stato.
1. Store: lo store tiene traccia del tuo stato dell’applicazione. È creato utilizzando le funzioni del riduttore. Una volta creato il negozio, non è possibile cambiarlo direttamente. Devi creare un’azione e inviarla utilizzando lo dispatcher del negozio, il negozio quindi utilizza il suo riduttore per creare una nuova copia dello stato.
1. View: la vista può essere qualsiasi pagina visualizzata sullo schermo. Prende il suo stato dall’archivio. Ogni volta che lo stato cambia nella memoria, la vista viene nuovamente renderizzata per riflettere queste modifiche.
In essenza, Redux mantiene la logica dell’applicazione prevedibile e facile da gestire, soprattutto nella creazione di applicazioni single page con valori di stato che cambiano con il tempo.