Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

136
Visualizações
¿No se puede despachar en montado? vuex

¿Alguien sabe por qué mis state.pages no se llenan con los datos json que busco con axios? Sin embargo, cuando cambio algo en mi archivo y lo guardo, para que vite se vuelva a cargar, los datos aparecen en la página. Y desaparecerá nuevamente cuando actualice la página en el navegador.

Vista de pagina:

 <template> <main v-if="page"> <h1>{{ page.title }}</h1> <div class="content" v-html="page.content"></div> </main> <main v-else> <h1>loading</h1> </main> </template> <script> import { mapGetters, mapActions } from "vuex"; export default { data() { return { page: null, }; }, methods: { ...mapActions({ getPages: "getPages" }), }, computed: { slug() { return this.$route.params.slug; }, getPage() { console.log(this.$store.state.pages); return (this.page = this.$store.state.pages.find( (page) => page.slug === this.slug )); }, }, mounted() { this.$store.dispatch("getPages"); this.getPages(); this.getPage; }, }; </script> <style> </style>

Índice Vuex:

 import { createStore } from 'vuex'; import axios from 'axios'; const store = createStore({ state() { return { pages: [], }; }, mutations: { setPages(state, { response }) { state.pages = response.data; }, }, actions: { getPages({ commit }) { axios.get('../src/data/pages.json').then((response) => { commit('setPages', { response }); }); }, }, getters: {}, }); export default store;
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La condición de carrera se produce porque las promesas no se encadenaron correctamente. Como regla general, cada función que usa promesas debe encadenar todas las promesas en uso y devolver una promesa como resultado de su trabajo.

getPages se envía dos veces.

Debería ser:

 getPages({ commit }) { return axios....

Y:

 mounted() { return this.getPages() .then(() => { ... }); },
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda