Middleware en Redux-mx

La parte que yo creo es mas interesante en la librería Redux es la creación de Middlewares y de ese modo extender Redux mas allá de lo que el equipo de Redux nos pueden ofrecer en la librería.

Esta funcionalidad se la agregue a mi pequeño clon, ahora se puede definir Middlewares que reciban el store (estado) y las acciones que se han lanzado, el ejemplo mas común es hacer un logger de las acciones. Este el ejemplo de este Middleware:

 

Como se puede ver tiene una firma muy parecida a el logger que viene en la documentación de Redux

 

También he creado un Middleware que permita hacer acciones que lanzan acciones y de este modo permitan agregar cosas asynchronas y/o concurrentes:

 

Para que funcione requerimos modificar el Main

 

La salida de esto es:

 

Conclusiones

Esta minilibreria no ha sido probada en produccion, tampoco es que necesite muchas pruebas require principalmente las de rendimiento con cientos de miles de acciones, la librería es muy sencilla y si revisas el código fuente de Redux.js tampoco es muy complicada, la forma en que se trabaja usando Redux es lo que es complicado, el cambio de mindset que se debe tener, de ahí el éxito de Redux en si y que muchos se quejen de que es muy complicado, esta librería al igual que Redux.js enfatiza el uso de funciones y de estructuras immutables para evitar al máximo posibles errores.

PD: El codigo ya esta en el repositorio.