What is Vuex? - Tylung/vue-apuntes GitHub Wiki

Vuex es una biblioteca de patrones de administración de estado para aplicaciones Vue.js. Su utilidad radica en que podemos tener un store centralizado que le podemos modificar el estado desde cualquier componente y que afecten a otros componentes de forma predecible, ya que el estado es reactivo.

Vuex fue diseñado especificamente para Vue.js

Cuando los vue components necesitan realizar una tarea, pueden hacer un dispatch de una accion,

  • Actions: Estas pueden ser asíncronas o síncronas, son las que hacen peticiones http, interacciones asíncronas, estas hacen commit de una mutation
  • Mutations: Estas solo pueden ser síncronas, es código que va terminar mutando o cambiando el state o estado
  • State: Este es reactivo y si cambia, va a renderizar nuevamente los vue components.

Acciones pueden ser asíncronas Commits deben de ser síncronos

Conceptos generales de vuex

  • State: Similar a la data(), es reactivo.
  • Getters: Similar a las propiedades computadas.
  • Mutations: Funciones que pueden modificar el State.
  • Actions: Funciones que pueden ser asíncronas que pueden llamar mutations.
  • Modules: Agrupador de state, getters, mutations, actions y otros módulos.
  • Store: Contenedor donde están todos los modulos.