Es tan fácil de aprender y usar Vue.js que cualquiera puede crear una aplicación simple con ese marco. Incluso los principiantes, con la ayuda de la documentación de Vue, pueden hacer el trabajo. Sin embargo, cuando la complejidad entra en juego, las cosas se ponen un poco más serias. La verdad es que los componentes múltiples y profundamente anidados con el estado compartido pueden convertir rápidamente su aplicación en un desorden inigualable..
El problema principal en una aplicación compleja es cómo administrar el estado entre componentes sin escribir código spaghetti o producir efectos secundarios. En este tutorial, aprenderá cómo resolver ese problema utilizando Vuex: una biblioteca de administración de estado para crear aplicaciones complejas de Vue.js.
Vuex es una biblioteca de administración de estado específicamente optimizada para crear aplicaciones Vue.js complejas a gran escala. Utiliza un almacén global y centralizado para todos los componentes de una aplicación, aprovechando su sistema de reactividad para actualizaciones instantáneas..
La tienda Vuex está diseñada de tal manera que no es posible cambiar su estado desde ningún componente. Esto asegura que el estado solo puede ser mutado de una manera predecible. Por lo tanto, su tienda se convierte en una fuente única de verdad: cada elemento de datos solo se almacena una vez y es de solo lectura para evitar que los componentes de la aplicación dañen el estado al que acceden otros componentes..
Puede preguntar: ¿Por qué necesito Vuex en primer lugar? ¿No puedo poner el estado compartido en un archivo JavaScript normal e importarlo a mi aplicación Vue.js??
Puede, por supuesto, pero en comparación con un objeto global simple, la tienda Vuex tiene algunas ventajas y beneficios significativos:
Antes de empezar, quiero aclarar varias cosas..
Primero, para seguir este tutorial, debe tener una buena comprensión de Vue.js y su sistema de componentes, o al menos una experiencia mínima con el marco.
Además, el objetivo de este tutorial no es mostrarle cómo crear una aplicación compleja real; el objetivo es centrar su atención más en los conceptos de Vuex y en cómo puede usarlos para crear aplicaciones complejas. Por esa razón, voy a usar ejemplos muy simples y sin ningún código redundante. Una vez que haya comprendido completamente los conceptos de Vuex, podrá aplicarlos en cualquier nivel de complejidad..
Finalmente, estaré usando la sintaxis ES2015. Si no estás familiarizado con él, puedes aprenderlo aquí..
Y ahora, comencemos!
El primer paso para comenzar con Vuex es tener Vue.js y Vuex instalados en su máquina. Hay varias formas de hacerlo, pero usaremos la más fácil. Simplemente cree un archivo HTML y agregue los enlaces CDN necesarios:
Usé algo de CSS para hacer que los componentes se vieran mejor, pero no tienes que preocuparte por ese código CSS. Solo le ayuda a obtener una idea visual de lo que está sucediendo. Solo copia y pega lo siguiente dentro de la etiqueta:
Ahora, vamos a crear algunos componentes para trabajar. Dentro de >