Redux puede ser muy util, pero lo que menos queremos es terminar "matando moscas a cañonazos". Es importante saber que existen otras alternativas o formas de trabajo con las cuales podríamos pensar en la forma de trabajo de Redux sin implementarlo.
Ya sabemos que esta poderosa poderosa herramienta nos ayuda a simplificar la gestión del estado de nuestra aplicación y el flujo de datos hacia los componentes, no obstante, Redux es mucho más que eso y debemos ser bien cautelosos antes de implementar esta arquitectura, ya que esto conlleva a toda una forma de trabajo de la cual va a depender nuestra aplicación.
A continuación detallamos 8 buenas razones descritas por Dan Abramov creador de Redux, que nos ayudaran a identificar si en realidad lo necesitamos.
- Persistir el estado a local-storage y luego iniciar desde el. sin mucho esfuerzo.
- Pre llenar el estado en el servidor, enviarlo al cliente en HTML, y arrancar desde ahí, sin mucho esfuerzo.
- Serializar acciones de usuario y adjuntarlas, junto a un snapshot del estado, para automatizar reporte de bugs y así los desarrolladores puedan reproducir los errores.
- Pasar acciones(objetos) por la red para implementar entornos colaborativos sin cambios dramáticos en el código.
- Mantiene una historia o implementa cambios optimistas sin cambios dramáticos en el código.
- Viajar a través de la historia del estado en desarrollo, y re-evaluar el estado actual a partir de una acción cuando el código cambie, a la TDD.
- Provee inspección completa y control en las herramientas de desarrollo de modo que los desarrolladores puedan construir herramientas personalizadas para sus aplicaciones.
- Provee UIs alternativas mientras se re-usa la mayoría de lógica de negocio.
Puede que no necesites Redux por Dan Abramov (artículo oficial en inglés)
Puede que no necesites Redux (traducción al español)
Sigamos con NgRx