Redux ist eine JavaScript Bibliothek für die Frontend Entwicklung zur Verwaltung von Zustandsinformationen in einer Web App. Über die offizielle Seite wird Redux als "vorhersehbarer Statuscontainer für JavaScript Anwendungen" beschrieben.
Redux hilft bei der Strukturierung komplexer GUIs, indem es den Zustand einer gesamten Anwendung in einem einzigen unveränderlichen Zustandsbaum (Single Immutable State Tree) verwaltet. Zusammen mit den Bibliotheken React oder Angular wird Redux häufig für die Erstellung von GUIs verwendet.
In der Entwicklung mit Redux gibt es einige Kernkonzepte:
- Store: Der Speicher, der den Anwendungsstatus bereitstellt. Die Ansicht wird jedes Mal erneut gerendert, wenn der Status aktualisiert wird.
- Action: Senden Informationen aus der Anwendung an den Store. Die einzige Informationsquelle für den Store, wobei sich der Status nur als Reaktion auf eine Aktion ändert.
- Reducer: Verwendet die Informationen einer Aktion um den Status der Web App tatsächlich zu aktualisieren.