Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

351
Vistas
React Context vs React Redux, ¿cuándo debo usar cada uno?

Se lanzó React 16.3.0 y la API de contexto ya no es una característica experimental. Dan Abramov (el creador de Redux) escribió un buen comentario aquí sobre esto, pero fueron 2 años cuando Context todavía era una característica experimental.

Mi pregunta es, en su opinión/experiencia, ¿cuándo debo usar React Context sobre React Redux y viceversa?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Como Context ya no es una función experimental y puede usar Context en su aplicación directamente, será excelente para transmitir datos a componentes profundamente anidados para los que fue diseñado.

Como ha escrito Mark Erikson en su blog :

Si solo está usando Redux para evitar pasar accesorios, el contexto podría reemplazar a Redux, pero probablemente no necesitaba Redux en primer lugar.

El contexto tampoco le brinda nada como Redux DevTools , la capacidad de rastrear sus actualizaciones de estado, middleware para agregar lógica de aplicación centralizada y otras capacidades poderosas que habilita Redux .

Redux es mucho más potente y proporciona una gran cantidad de funciones que la Context API no proporciona, también como mencionó @danAbramov

React Redux usa el contexto internamente pero no expone este hecho en la API pública. Por lo tanto, debería sentirse mucho más seguro usando el contexto a través de React Redux que directamente porque si cambia, la carga de actualizar el código recaerá en React Redux y no en usted.

Depende de Redux actualizar realmente su implementación para cumplir con la última API de contexto.

La API de contexto más reciente se puede usar para aplicaciones en las que simplemente usaría Redux para pasar datos entre componentes, sin embargo, las aplicaciones que usan datos centralizados y manejan solicitudes de API en creadores de acciones que usan redux-thunk o redux-saga aún necesitarían Redux. Aparte de esto, Redux tiene otras bibliotecas asociadas, como redux-persist que le permite guardar/almacenar datos en localStorage y rehidratar en la actualización, que es lo que la API de contexto aún no admite.

Como mencionó @dan_abramov en su blog Es posible que no necesites Redux , Redux tiene aplicaciones útiles como

  • Persiste el estado en un almacenamiento local y luego arranca desde allí, listo para usar.
  • Llene previamente el estado en el servidor, envíelo al cliente en HTML y arranque desde allí, listo para usar.
  • Serialice las acciones de los usuarios y adjúntelas, junto con una instantánea de estado, a informes de errores automatizados, para que los desarrolladores de productos
    puede reproducirlos para reproducir los errores.
  • Pase objetos de acción a través de la red para implementar entornos colaborativos sin cambios drásticos en la forma en que se escribe el código.
  • Mantenga un historial de deshacer o implemente mutaciones optimistas sin cambios drásticos en la forma en que se escribe el código.
  • Viaje entre el historial de estado en desarrollo y reevalúe > el estado actual del historial de acción cuando el código cambie, ala TDD.
  • Proporcione capacidades completas de inspección y control a las herramientas de desarrollo para que los desarrolladores de productos puedan crear herramientas personalizadas para sus aplicaciones.
  • Proporcione interfaces de usuario alternativas mientras reutiliza la mayor parte de la lógica comercial.

Con tantas aplicaciones, es demasiado pronto para decir que Redux será reemplazado por la nueva API Context.

over 4 years ago · Santiago Trujillo Denunciar

0

Si está utilizando Redux solo para evitar pasar accesorios a componentes profundamente anidados , entonces podría reemplazar Redux con la API de Context . Está diseñado exactamente para este caso de uso.

Por otro lado, si está usando Redux para todo lo demás (tener un contenedor de estado predecible, manejar la lógica de su aplicación fuera de sus componentes, centralizar el estado de su aplicación, usar Redux DevTools para rastrear cuándo, dónde, por qué y cómo el estado de su aplicación cambiado, o usando complementos como Redux Form , Redux Saga , Redux Undo , Redux Persist , Redux Logger , etc.), entonces no hay absolutamente ninguna razón para que abandones Redux. La API de Context no proporciona nada de esto.

Y personalmente creo que la extensión Redux DevTools es una herramienta de depuración increíble y subestimada, que justifica por sí misma seguir usando Redux.

Algunas referencias:

  • ¡Redux aún no está muerto!
  • Es posible que no necesite Redux
  • ¿Los ganchos de reacción reemplazan a Redux?
over 4 years ago · Santiago Trujillo Denunciar

0

Prefiero usar redux con redux-thunk para hacer llamadas a la API (también usando Axios) y enviar la respuesta a los reductores. Es limpio y fácil de entender.

La API de contexto es muy específica para la parte de react-redux sobre cómo los componentes de React están conectados a la tienda. Para esto, react-redux es bueno. Pero si lo desea, dado que Context es oficialmente compatible, puede usar la API de contexto en lugar de react-redux.

Entonces, la pregunta debería ser Context API vs react-redux, y no Context API vs redux. Además, la pregunta es un poco obstinada. Como estoy familiarizado con react-redux y lo uso en todos los proyectos, continuaré usándolo. (No hay ningún incentivo para mí para cambiar).

Pero si está aprendiendo redux hoy y no lo ha usado en ninguna parte, vale la pena darle una oportunidad a Context API y reemplazar react-redux con su código de Context API personalizado. Tal vez, es mucho más limpio de esa manera.

Personalmente, es una cuestión de familiaridad. No hay una razón clara para elegir uno sobre el otro porque son equivalentes. E internamente, react-redux usa Context de todos modos.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda