es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cuándo usar Redux-saga / Redux thunk y cuándo no?

Para ser honesto, sé cuándo usar Redux y el estado global, pero he estado viendo muchos proyectos de código que usan Redux-Saga o Thunk para casi todas las llamadas a la API. Todo se guarda en el estado global del almacenamiento y todas las llamadas a la API pasan por acciones o generadores.

Siempre he pensado que Redux solo debería usarse para obtener datos necesarios de forma global, pero hasta ahora estoy viendo un concepto completamente diferente y no sé cuál es mejor. ¿Tiene alguna ventaja uno sobre el otro?

Para aclarar nuevamente, esto no es una pregunta sobre Redux Thunk vs Saga y cuándo usar cada uno.

Esto es acerca de cuándo llamar a las APIs usando uno u otro, y almacenar los datos en el almacenamiento en comparación con simplemente usar una función regular, por ejemplo en un gancho useEffect, y usar useState para renderizar los efectos de los datos provenientes de esa API. Siento que usar excesivamente el estado global para gestionar cada parte del estado en la aplicación va más allá del concepto de estado global y también podría ser malo para el rendimiento, pero he trabajado en aplicaciones donde usan Redux para todo, sin importar si se necesita o no.
Entonces, si tengo Redux instalado en mi aplicación, ¿esto significa que todas las llamadas a la API pasan por middleware?

Me refiero desde un punto de vista de patrón de diseño.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    , la decisión de utilizar Redux o estado local para llamadas a API debe basarse en el caso de uso específico y los requisitos de la aplicación.

    Si los datos de la llamada a la API solo se requieren en un componente específico y no es necesario compartirlos con otros componentes, entonces es mejor utilizar el estado local con un useEffect hook para buscar y almacenar los datos.

    Por otro lado, si los datos son necesarios en varios componentes o deben ser accedidos por toda la aplicación, entonces utilizar Redux podría ser una mejor opción. En este caso, utilizar Redux-Saga o Thunk para manejar las llamadas a API puede ser una buena práctica, ya que puede centralizar las llamadas a API y manejar acciones asíncronas de manera más eficiente que utilizando acciones regulares.

    Sin embargo, depender del estado global para todo puede generar problemas de rendimiento y hacer que la aplicación sea más difícil de mantener. Es importante utilizar el estado global solo cuando sea necesario y considerar otras opciones como Context o useMemo para gestionar el estado que no necesita ser compartido globalmente.

    En cuanto al middleware, sí, si Redux está instalado en la aplicación, las llamadas a API pueden pasar a través de middleware como Saga o Thunk mediante el envío de las acciones correspondientes. Pero una vez más, es importante considerar el caso de uso específico y no abusar del estado global y el middleware innecesariamente.

Comments are closed.