import Vuex from 'vuex'
const store = new Vuex.Store({ ...options })
state
Object | Function
O objeto raiz de estado para o store Vuex. Detalhes
Se você passar uma função que retorna um objeto, o objeto retornado é usado como o estado da raiz. Isso é útil quando você deseja reutilizar o objeto de estado, especialmente para reutilização de módulos. Detalhes
mutações
{ [type: string]: Function }
Registra mutações no store. A função do manipulador sempre recebe estado
como o 1º argumento (será o estado local do módulo se definido em um módulo) e receberá um 2º argumento payload
se houver um.
ações
{ [type: string]: Function }
Registra ações no store. A função do manipulador recebe um objeto context
que expõe as seguintes propriedades:
{
state, // o mesmo que `store.state`, ou estado local se estiver em módulos
rootState, // o mesmo que `store.state`, apenas em módulos
commit, // o mesmo que `store.commit`
dispatch, // o mesmo que `store.dispatch`
getters, // o mesmo que `store.getters`, ou com getters locais se estiver em módulos
rootGetters // o mesmo que `store.getters`, apenas em módulos
}
getters
{ [key: string]: Function }
Registra getters no store. A função getter recebe os seguintes argumentos:
state, // será o estado local do módulo, se definido em um módulo.
getters // o mesmo que `store.getters`
Especifique quando definido em um módulo
state, // será o estado local do módulo, se definido em um módulo.
getters, // Módulo getters locais do módulo atual
rootState, // estado global
rootGetters // todos os getters
Os getters registrados estão expostos em store.getters
.
módulos
Object
Um objeto contendo sub módulos a serem incorporados no store, de forma que:
{
key: {
state,
namespaced?,
mutations?,
actions?,
getters?,
modules?
},
...
}
Cada módulo pode conter "estado" e "mutações" semelhantes às opções raiz. O estado de um módulo será anexado ao estado da raiz do store usando a chave do módulo. As mutações e getters de um módulo receberão apenas o estado local do módulo como o 1º argumento em vez do estado da raiz e as ações do módulo context.state
também apontarão para o estado local.
plugins
Array<Function>
Um array de funções de plugin a serem aplicadas no store. O plugin simplesmente recebe o store como o único argumento e pode ouvir mutações (para persistência de dados de saída, log ou depuração) ou mutações de despacho (para dados de entrada, por exemplo, websockets ou observáveis).
strict
Boolean
false
Força o store Vuex em modo estrito. No modo estrito, qualquer mutação ao estado do Vuex fora dos manipuladores de mutação acusará um erro.
state
Object
O estado raiz. Apenas leitura.
getters
Object
Expõe os getters registrados. Apenas leitura.
commit(type: string, payload?: any, options?: Object) | commit(mutation: Object, options?: Object)
Confirma uma mutação. options
pode ter root: true
que permite confirmar mutações da raiz em módulos namespaced. Detalhes
dispatch(type: string, payload?: any, options?: Object) | dispatch(action: Object, options?: Object)
Despacha uma ação. options
pode ter root: true
que permite enviar ações para raiz em módulos namespaced. Retorna Promise que resolve todos os manipuladores de ação acionados. Detalhes
replaceState(state: Object)
Substitua o estado da raiz do store. Use isso apenas para fins de hydration / time-travel.
watch(getter: Function, cb: Function, options?: Object)
Visualiza de forma reativa um valor de retorno da função getter e chama o callback para o retorno de chamada quando o valor mudar. O getter recebe o estado do store como o 1º argumento e os getters como o 2º argumento. Aceita um objeto de opções opcional que leva as mesmas opções que o método vm. $ Watch
do Vue.
Para parar de visualizar, chame para a função do manipulador retornada.
subscribe(handler: Function)
Assina as mutações do store. O handler
é chamado após cada mutação e recebe o descritor de mutação e o estado pós-mutação como argumentos:
store.subscribe((mutation, state) => {
console.log(mutation.type)
console.log(mutation.payload)
})
Usado com mais frequência em plugins. Detalhes
subscribeAction(handler: Function)
Novo em 2.5.0
Assina as ações do store. O handler
é chamado para cada ação despachada e recebe o descritor de ação e o estado atual do store como argumentos:
store.subscribeAction((action, state) => {
console.log(action.type)
console.log(action.payload)
})
Usado com mais frequência em plugins. Detalhes
registerModule(path: string | Array<string>, module: Module, options?: Object)
Registra um módulo dinâmico. Detalhes
options
pode ter preserveState: true
que permite preservar o estado anterior. Util para renderização server-side.
unregisterModule(path: string | Array<string>)
Cancela o registro de um módulo dinâmico. Detalhes
hotUpdate(newOptions: Object)
Faz Hot swap de novas ações e mutações. Detalhes
mapState(namespace?: string, map: Array<string> | Object): Object
Cria componentes computadas de opções que retornam a subárvore do store Vuex. Detalhes
O 1º argumento pode ser opcionalmente uma String com namespace. Detalhes
mapGetters(namespace?: string, map: Array<string> | Object): Object
Criar opções computadas do componente que retornam o valor avaliado de um getter. Detalhes
O 1º argumento pode ser opcionalmente uma String com namespace. Detalhes
mapActions(namespace?: string, map: Array<string> | Object): Object
Cria um componente com métodos e opções que despacham uma ação.
O 1º argumento pode ser opcionalmente uma String com namespace. Detalhes
mapMutations(namespace?: string, map: Array<string> | Object): Object
Cria um componente com métodos e opções que confirmam uma mutação. Detalhes
O 1º argumento pode ser opcionalmente uma String com namespace. Detalhes
createNamespacedHelpers(namespace: string): Object
Cria um componente namespaced dos métodos auxiliares. O objeto retornado possui mapState, mapGetters, mapActions e mapMutations, que estão conectados com o dado namespace. Detalhes