Redux (JavaScript)
# Redux (JavaScript)

Redux es una librería JavaScript de código abierto para el manejo del estado de las aplicaciones. Es comúnmente usada con otras librerías como React o Angular para la construcción de Interfaces de Usuario. Dan Abramov y Andrew Clark se inspiraron en otra librería de Facebook, Flux para crear Redux.

## Descripción

Redux es una pequeña librería con una API simple y limitada, diseñada para ser un contenedor predecible del estado de la aplicación. Tiene un modo de operar similar al concepto reducer de la programación funcional.

Es influenciado por el lenguaje de programación funcional Elm.

## Historia

Redux fue creado por Dan Abramov y Andrew Clark en 2015. Abramov empezó a escribir la primera versión de Redux mientras preparaba una charla para la conferencia React Europe sobre Hot Reloading. Abramov se encontraba impresionado por la similitud del patrón Flux con la función reducer. "Estaba pensando sobre Flux como una operación reducer... tus almacenes, como acumulan un estado en respuesta a unas acciones. Pensé en ir más allá. ¿Y si tu almacén Flux no fuese un almacén sino una función reducer?"

Abramov contactó con Clark (Autor de la implementación Flux, Flummox) para colaborar juntos. Gracias a Clark existen las herramientas que hacen posible el ecosistema Redux, ayudó a definir un API coherente e implementar la posibilidad de extensión mediante middleware y store enhancers.

