Cómo Vuex centraliza estados en Vue
Clase 39 de 53 • Curso Profesional de Vue.js 2
Contenido del curso
CLI y Dev Tools
- 3

Instalación de Vue.js: Node, Dev Tools y CLI
06:13 min - 4

Crear una aplicación Vue con CLI y webpack
12:49 min - 5

Cómo funciona webpack.config.js
10:38 min - 6

Babel: transpilador de JavaScript moderno
05:06 min - 7

ESLint con Standard JS: linteo automático en webpack
15:34 min - 8

Configuración de Sass y Bulma en Vue
06:18 min - 9

Cómo configurar Pug en Vue con webpack
04:23 min - 10
Diseño de Mockups: Práctica y Colaboración en Comunidad
00:20 min - 11
Creación de Vistas con Mockups y Vue.js
00:32 min
Manipulación del DOM
- 12

Expresiones en Vue: sintaxis doble llave
03:49 min - 13

Diferencia entre v-show y v-if en el DOM
06:22 min - 14

Qué es data binding en Vue.js
04:11 min - 15

Computed properties en Vue.js: cómo crearlas
04:13 min - 16

Qué son los watchers de Vue
02:25 min - 17

Eventos Vue: directiva v-on y métodos format
06:12 min - 18

Cómo construir una interfaz de búsqueda completa en Vue
19:03 min - 19
Manipulación del DOM con Vue.js: Práctica y Ejercicios
03:00 min
REST y HTTP
Sistema de Componentes
- 23

Cómo crear componentes en Vue
08:46 min - 24

Componentes Layout en Vue con Bulma
09:50 min - 25

Reactividad en Vue: $set y Object.assign
06:14 min - 26

Hooks del ciclo de vida en Vue.js
05:38 min - 27

Comunicación padre-hijo con props en Vue
23:27 min - 28

Eventos en Vue: comunicar hijo a padre
12:04 min - 29

Slots: HTML dinámico en componentes Vue
13:42 min - 30

Plugin Event Bus: comunicar componentes sin relación en Vue
19:19 min
Vue Router
Extendiendo VueJS
Clases, Animaciones y Transiciones36
Vuex
- 39

Cómo Vuex centraliza estados en Vue
Viendo ahora - 40

Instalación de Vuex con estado único
17:32 min - 41

Cómo usar mutations y commit en Vuex
08:16 min - 42

Getters de Vuex: mapGetters y store sincronizado
07:35 min - 43

Cómo dispatch ejecuta actions asincrónicas en ViewX
07:54 min - 44

Instalación de Viewex en Platzi Music
26:37 min
Nuxt.js
Deploy a Producción con Now
Conclusiones
Bonus
La gestión de estado en Vue gana claridad y escala con Vuex, la librería oficial del Core Team de Vue JS y Vue Router. Al centralizar la data en un store único, aporta un flujo de información ordenado, mayor mantenibilidad y una comunicación simple entre componentes, incluso en proyectos de mediana y gran escala.
¿Qué es Vuex y por qué centralizar el estado?
Centralizar el estado significa tener un origen único de la data para todas las vistas. Con un patrón tipo Flux o Redux, la información se concentra en un solo lugar y se renderiza de forma consistente en toda la interfaz. Es una propuesta oficial, recomendada cuando el proyecto crece y la comunicación entre componentes se complica.
¿Qué beneficios ofrece un store singleton?
- Un solo store compartido por toda la app.
- Instancia única: un singleton accesible desde cualquier componente.
- Propagación automática de cambios: al actualizar el store, las vistas se recomponen.
- Orden del flujo de datos: menos ambigüedad y menos estados duplicados.
- Comunicación simple entre padres, hijos y componentes no relacionados.
¿Cómo se integra con las devtools de Chrome?
- Integración directa con herramientas de desarrollo en Chrome.
- Depuración sencilla del estado.
- Posibilidad de inspeccionar estados previos y posteriores con navegación temporal.
¿Cuándo conviene usar este patrón con Vuex?
Resulta conveniente cuando hay mucha interacción y comunicación entre componentes, sobre todo si no comparten relación directa. En aplicaciones medianas o grandes, el estado distribuido puede volverse difícil de seguir; aquí es donde Vuex ordena y centraliza.
¿Qué problemas evita frente a un event bus?
Antes se podía usar un event bus para comunicar componentes no relacionados. Sin embargo:
- Aparecen cadenas de eventos tediosas de mantener.
- El flujo se vuelve difícil de seguir.
- Entre padres e hijos surgen cadenas sucesivas de eventos hacia arriba y de propiedades hacia abajo.
- Con Vuex, el estado se abstrae del componente y todos acceden al centro común.
¿Cómo impacta en el árbol del DOM?
- Acceso al store sin importar la posición en el DOM.
- Desde el componente principal hasta los hijos de los hijos comparten la misma fuente de verdad.
¿Cómo fluye la información en Vuex?
Vuex promueve un flujo unidireccional: la información va del store a los componentes que la consumen. Así se mantiene la coherencia y se facilita el seguimiento del estado a lo largo del tiempo.
¿Qué conceptos debes dominar?
- Estado: la data centralizada de la aplicación.
- Vista: lo que se renderiza a partir del estado.
- Acciones: mecanismos que hacen fluir la información desde el estado hacia la vista.
Además, recuerda la regla práctica inspirada en Dan Abramov: las librerías flux son como anteojos; cuando se necesitan, se nota. A continuación, se explorarán los conceptos clave de Vuex y su integración en el proyecto Platzi Music.
¿Te gustaría compartir en qué escenario de tu app aplicarías Vuex o qué patrón usas hoy para manejar el estado?