Como o estado de uma Store do Vuex se torna reativo graças ao Vue, quando alteramos (mutamos) o estado, os componentes do Vue observando o estado serão atualizados automaticamente. Isso também significa que as mutações do Vuex estão sujeitas às mesmas ressalvas de reatividade ao trabalhar com o Vue em si:
1. Prefira inicializar o estado inicial da sua loja com todos os campos desejados antecipadamente.
2. Ao adicionar novas propriedades a um objeto, você deve:
- Usar Vue.set(obj, 'newProp', 123), ou
- Substitua esse Objeto por um novo. Por exemplo, usando a sintaxe do Spread Operator do ES6, podemos escrevê-lo assim:
state.obj = { ...state.obj, newProp: 123 }
Fonte: https://vuex.vuejs.org/guide/mutations.html#mutations-follow-vue-s-reactivity-rules