Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Redux FAQ: General
¿Cuándo debería aprender Redux?
Decidir qué aprender puede ser abrumador para un desarrollador JavaScript. Es útil reducir las opciones aprendiendo una cosa a la vez y centrándote en problemas que encuentres en tu trabajo. Redux es un patrón para gestionar el estado de la aplicación. Si no tienes problemas con la gestión del estado, quizá te resulte más difícil entender sus beneficios. Algunas bibliotecas UI (como React) tienen su propio sistema de gestión de estado. Si usas una de estas bibliotecas, especialmente si estás aprendiendo, te animamos a que primero explores las capacidades de ese sistema integrado. Podría ser todo lo que necesitas para construir tu aplicación. Si tu aplicación se vuelve tan compleja que te confundes sobre dónde se almacena el estado o cómo cambia, entonces es un buen momento para aprender Redux.
Recomendamos que la mayoría de los nuevos aprendices se centren primero en aprender React, y esperen a aprender Redux hasta que ya estén cómodos con React. Así habrá menos conceptos nuevos que aprender a la vez, y quedará más claro qué conceptos son parte de React y cuáles de Redux. También entenderás mejor cómo encaja Redux en una aplicación React y por qué puede ser útil.
Más información
Artículos
Debates
-
Pregunta HN: Agobiado con aprender front-end, ¿cómo continúo?
-
Twitter: Si quieres enseñar a alguien a usar una abstracción...
¿Cuándo debería usar Redux?
No todas las aplicaciones necesitan Redux. Es importante entender qué tipo de aplicación estás construyendo, qué problemas necesitas resolver y qué herramientas pueden solucionarlos mejor.
Redux te ayuda con la gestión compartida del estado, pero como cualquier herramienta, tiene compensaciones. No está diseñado para ser la forma más rápida o corta de escribir código. Pretende responder a la pregunta "¿Cuándo cambió cierta porción del estado y de dónde vino el dato?", con comportamiento predecible. Hay más conceptos que aprender y más código que escribir. También añade cierta indirección a tu código y requiere que sigas ciertas restricciones. Es una compensación entre productividad a corto y largo plazo.
Como dice Pete Hunt, uno de los primeros contribuidores de React:
Sabrás cuándo necesitas Flux. Si no estás seguro de si lo necesitas, no lo necesitas.
Del mismo modo, Dan Abramov, uno de los creadores de Redux, dice:
Me gustaría matizar esto: no uses Redux hasta que tengas problemas con React puro.
Redux es más útil en casos como estos:
-
Tienes grandes cantidades de estado de aplicación necesarias en muchos lugares
-
El estado de la aplicación se actualiza con frecuencia
-
La lógica para actualizar ese estado puede ser compleja
-
La aplicación tiene una base de código mediana o grande con múltiples colaboradores
-
Necesitas rastrear cómo cambia ese estado a lo largo del tiempo
Existen otras herramientas que también resuelven problemas similares a los de Redux: gestión de estado, caché de datos del servidor y paso de datos en la interfaz.
Si no estás seguro de si Redux es adecuado para tu aplicación, estos recursos ofrecen más orientación:
Al final, Redux es solo una herramienta. Es excelente y tiene razones de peso para usarse, pero también hay motivos para no hacerlo. Toma decisiones informadas sobre tus herramientas y comprende las ventajas e inconvenientes de cada opción.
Más información
Documentación
Artículos
Debates
-
Twitter: Redux está diseñado para ser predecible, no conciso
-
Twitter: Redux es útil para evitar pasar props profundamente
-
Twitter: No uses Redux a menos que no estés satisfecho con el estado local
-
Reddit: No necesitas Redux si tu app solo obtiene datos en una página
-
Stack Overflow: ¿Por qué usar Redux en lugar de Facebook Flux?
-
Stack Overflow: ¿Por qué debería usar Redux en este ejemplo?
-
Stack Overflow: ¿Qué desventajas podría tener usar Redux en lugar de Flux?
-
Stack Overflow: ¿Cuándo debería añadir Redux a una aplicación de React?
¿Se puede usar Redux solo con React?
Redux puede utilizarse como almacén de datos para cualquier capa de interfaz de usuario. Su uso más común es con React y React Native, pero existen bindings disponibles para Angular, Angular 2, Vue, Mithril y más. Redux simplemente proporciona un mecanismo de suscripción que cualquier otro código puede utilizar. Dicho esto, es más útil cuando se combina con una implementación de vista declarativa que pueda inferir actualizaciones de la interfaz a partir de cambios de estado, como React o librerías similares disponibles.
¿Necesito una herramienta de construcción específica para usar Redux?
Redux está escrito usando sintaxis moderna de JavaScript (ES2020), pero el código es bastante sencillo.
Si necesitas soportar navegadores antiguos, transpílalo tú mismo.
El ejemplo counter-vanilla demuestra uso básico con ES5 donde Redux se incluye como una etiqueta <script>. Como dice la pull request relevante:
El nuevo ejemplo Counter Vanilla pretende disipar el mito de que Redux requiere Webpack, React, hot reloading, sagas, creadores de acciones, constantes, Babel, npm, CSS modules, decoradores, latín fluido, suscripción a Egghead, un doctorado o un nivel E.E. en T.I.M.O.
¡En absoluto! Solo es HTML, algunas etiquetas
<script>artesanales y la clásica manipulación del DOM. ¡Disfrútalo!