es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué obtengo “undefined” al llamar a “useStore” desde Vuex? API de composición, Vuex y Typescript en Quasar.

Invoco useStore en el gancho setup, luego, obtengo undefined lo cual resulta en un TypeError cuando intento utilizar alguna funcionalidad de la store.

App.vue

<script lang="ts">
import { defineComponent, onMounted } from 'vue'
import { useStore } from 'vuex'

<p>export default defineComponent({
  name: 'App',
  setup () {
    const store = useStore()
    const obtenerAppInitInfo = () => store.dispatch('App/obtenerAppInitInfo')
    console.log(store) // muestra undefined
    onMounted(async () => {
      await obtenerAppInitInfo() // TypeError: No se pueden leer propiedades de undefined (leyendo 'dispatch')
    })
    return {}
  }
})
</script>

La misma lógica en la API de opciones funciona correctamente. ¿Alguien sabe por qué obtengo undefined al llamar a useStore?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El problema probablemente se debe a que no has configurado correctamente Vuex en tu proyecto. Asegúrate de haber instalado el paquete de vuex y de haberlo inicializado correctamente en tu proyecto antes de intentar utilizar la función useStore.

    También puedes intentar importar directamente la instancia del store desde el archivo de la tienda de Vuex en lugar de utilizar useStore. Por ejemplo:

    <script lang="ts">
    import { defineComponent, onMounted } from 'vue'
    import { store } from './store'
    
    export default defineComponent({
      name: 'App',
      setup () {
        const obtenerAppInitInfo = () => store.dispatch('App/obtenerAppInitInfo')
        console.log(store)
        onMounted(async () => {
          await obtenerAppInitInfo() 
        })
        return {}
      }
    })
    </script>
    

    Si esto también no funciona, verifica nuevamente que tu store esté configurado correctamente con los módulos, estados, acciones y mutaciones correctas.

Comments are closed.