“Redux maneja claramente el estado mucho mejor”
Cita necesaria.
Redux es un enfoque para manejar el estado. Echemos un breve vistazo bajo el capó de cómo funciona la reducción de una acción:
- ¿Cuál es el proceso para mover aplicaciones entre diferentes cuentas de desarrollador?
- Cómo comenzar a escribir aplicaciones Java para teléfonos celulares
- ¿Cuánto cuesta construir una aplicación móvil como Spotify?
- Cómo elegir una empresa de desarrollo de aplicaciones móviles
- ¿Es el marco iónico una buena opción para aplicaciones móviles híbridas?
- Despachar un objeto que contiene una cadena (y, posiblemente, datos suplementarios)
- Ese objeto pasa a varias funciones
- Cada función pasa el objeto a través de un interruptor y devuelve su propia actualización local; en muchos casos, devuelve los mismos datos que ya estaban en el estado, ya que los datos rara vez se actualizan en múltiples reductores a la vez
- La tienda de aplicaciones emite un evento que es recogido por al menos un suscriptor, generalmente el nodo raíz
- Esto desencadena una nueva representación de todo debajo de los nodos suscritos
Hay muchas partes de este proceso que son extremadamente derrochadoras :
- Redux trata todas las actualizaciones como cambios globales donde hay muchas veces que solo necesita realizar cambios locales : React maneja esto con gracia con
this.state
ysetState
- Redux pasa cada acción a través de cada reductor en una tienda: si no está aprovechando esto, entonces es probable que esté mejor servido con un paradigma global de getter / setter
- Redux es mediocre para el manejo nativo de llamadas asincrónicas y delega mucho de esto a dependencias externas (Thunk, Saga). React se encarga de esto perfectamente con
componentDidMount
y muchas otras bibliotecas incorporan esta funcionalidad en su historia (Relay, Apollo, etc. )
Hay muchos enfoques para manejar el estado y lo que necesita a menudo diferirá de una aplicación a otra. Su trabajo no es solo unir el código en función de las tendencias, sino conocer los diferentes paradigmas que existen, comprender el contexto del problema que está tratando de resolver y desarrollar una solución que aproveche ese conocimiento .