vue-codigos
vue-codigos copied to clipboard
Problemas no capítulo 6 - Vuex e Flux
@danielschmitz estou com a versão publicada em 2017-11-01 e notei dois pontos nesse capítulo, no item 6.5 (Exemplo Simples) na parte incluindo Vuex não foi mostrado como instalar o mesmo, tão pouco qual versão utilizada, uma simples pesquisada pelo mesmo e encontramos na documentação como proceder para instalar, mas seria interessante estar no livro para todos.
Outro ponto foi, da forma que ocorreu a implementação do vuex para o contador não funcionou em meu projeto com a seguinte configuração:
{
"dependencies": {
"vue": "2.0.1",
"vuex": "3.0.1"
}
}
Dei uma olhada no git deles e encontrei um exemplo de contador e somente seguindo este modelo de implementação que consegui fazer funcionar, gostaria de saber se o modelo que está no livro está defasado para a versão 3 do vuex, se sim, seria interessante uma atualizada no livro deste ponto.
Olá, tudo bem?
a parte que mostra como instalar está no livro, veja:

Desculpa foi vacilo meu, realmente enquanto tava lendo devo ter passado batido pela instalação do vuex, segui direto pro npm i. Mas a outra parte realmente não consegui fazer da forma que estava lá, precisei fazer alguns ajustes:
Carregar a store direto no main.js ao invés do App.vue

Carregar os actions e getters ao instanciar o Vuex.Store junto ao state e mutations:

Usar o mapGetters do vuex para usar no Display.vue:

Usar o mapActions do vuex para usar no Increment.vue:

vou dar uma olhada na forma como está
esse editor é qual?
Na sequência, a parte de módulos (vuex-modules) também necessitou de alguns ajustes para o correto funcionamento:

App.vue
- Mapeamento via namespace para
modules/login/index.js
- exportar com a opção namespaced habilitada
- Utilização via objeto global do Vue (Vue.http) ao invés de this.$http na action
- Utilizar o response.body, pois não existe na versão atual o http.response.data
Ps: actions e getters mantidas no mesmo arquivo para diminuir o número de arquivos que eu estva lidando e não precisar fazer os imports no próprio index.js, pois nesta versão do vuex as mesmas devem ser exportadas junto do módulo.
Um exemplo final juntando a parte de login e products, o state do getter quando está com a opção namespace é diretamente do módulo, o que tornou desnecessário especificar o nome do módulo como está nos getters do src/modules/product/getters.js

Uma dúvida, a parte destacada seria dessa forma mesmo ou seria: use Somente?
