update switch reducer react example combiner reactjs redux state store

reactjs - switch - ¿Cuándo elijo React state Vs Redux Store?



switch react redux (3)

Del libro:

En primer lugar, siempre debemos tener en cuenta que solo se debe colocar en el estado la cantidad mínima de datos necesarios. Por ejemplo, si tenemos que cambiar una etiqueta cuando se hace clic en un botón, no debemos almacenar el texto de la etiqueta, pero solo debemos guardar una bandera booleana que nos diga si se ha hecho clic en el botón o no. En segundo lugar, debemos agregar al estado solo los valores que queremos actualizar cuando ocurre un evento, y para los cuales queremos que el componente vuelva a renderizarse. Otra forma de averiguar si el estado es el lugar correcto para almacenar información es verificar si los datos que estamos persistiendo son necesarios fuera del componente en sí o por sus hijos. Si varios componentes necesitan realizar un seguimiento de la misma información, deberíamos considerar utilizar un administrador de estado como Redux en el nivel de la aplicación.

He estado aprendiendo Redux y una parte de la que no estoy seguro es, ¿cómo hago una determinación entre usar el estado de reacción frente a la tienda de redux y luego enviar acciones? por lo que he leído hasta ahora, parece que podría usar el estado React en lugar de la tienda Redux y aún así hacer las cosas. Entiendo que la separación de las preocupaciones con el uso de la tienda Redux y el hecho de tener solo 1 componente contenedor y el resto como componente sin estado, pero no me queda muy claro cómo determinar cuándo usar React state Vs redux store. ¿Puede ayudarme alguien, por favor?

¡Gracias!


Estás absolutamente en lo correcto. Redux (y la arquitectura de flujo en general) son solo herramientas de formalismo que ayudan a crear aplicaciones grandes. No son necesarios en absoluto.

En realidad, hay una publicación interesante llamada Es posible que no necesites un redux por Dan Abramov, el creador de redux que podría darte una mejor respuesta que yo: https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367#.7093fm1z8


Si el estado no necesita compartirse con otros componentes, o el estado no necesita mantenerse cuando el componente está desmontado, entonces puede ponerlo en el estado del componente.

Puede pensar que la tienda Redux es la base de datos del front-end, si tiene algo como datos de productos obtenidos de una API, entonces la tienda Redux es el lugar correcto; Si tiene un componente desplegable, que tiene una propiedad isOpen , entonces el padre de ese desplegable solo puede mantener dropdownIsOpen como un estado de componente.

Para obtener más información, aquí está la respuesta de Dan: https://github.com/reactjs/redux/issues/1287

Tambien dijiste

Solo 1 componente contenedor y el resto como componente sin estado.

Esto es incorrecto. Puede tener varios componentes contenedor. Un componente contenedor también puede contener otro componente contenedor.