Redux (JavaScript-Bibliothek)
# Redux (JavaScript-Bibliothek)

Redux ist eine quelloffene JavaScript-Bibliothek zur Verwaltung von Zustandsinformationen in einer Webanwendung. Sie wird in der Regel zusammen mit den Bibliotheken React oder Angular für die Erstellung grafischer Benutzeroberflächen verwendet. Das Ziel ist es, alle Zustandsinformationen zentral an einer Stelle vorzuhalten und für alle Komponenten der Webanwendung zugänglich zu machen.

## Geschichte

Redux wurde in der Anfangsphase von Dan Abramov und Andrew Clark entwickelt und 2015 veröffentlicht. Die Bibliothek ist von Facebooks Flux-Architektur und der funktionalen Programmiersprache Elm inspiriert. Die Projektwebsite listet derzeit elf Entwickler und drei Firmen als Mitwirkende und Förderer auf.

## Kernkonzepte

### Store

Der Store beinhaltet alle Zustandsinformationen, jede Zustandsinformation besteht aus einem Datenobjekt, das abgerufen werden kann. Die einzelnen Datenobjekte dabei sind nicht veränderbar, sondern nur lesbar.

### Action

Actions werden von den Webkomponenten aufgerufen und von Reducern ausgewertet.

### Reducer

Reducer verändern den globalen State der Webapplikation, indem sie, basierend auf dem Typ einer Aktion, ein neues Statusobjekt dem globalen State hinzufügen.

