提问人:btsfreak 提问时间:10/27/2023 更新时间:10/27/2023 访问量:24
Vue3/Pinia:在可组合项中使用 Pinia store 会在 pinia 核心代码中引发 TypeError
Vue3/Pinia: Using Pinia store inside a composable throws TypeError within pinia core code
问:
我们正在运行一个用 vite 和 Vue3 编译的 SPA。 一旦我们在可组合项中调用 useStore() 函数,我们就会在 pinia 代码中遇到 Type Error:
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '_s')
它发生在 pinia 核心代码中
我们可以在应用程序 (SPA) 中的其他任何地方使用此商店而不会出现问题。 似乎可组合项运行得太早并产生此错误,因为 pinia 实例尚未准备好(这里存在类似的问题,尽管使用 SSG:https://github.com/antfu/vite-ssg/issues/103 )
- 创建虚拟存储 import { defineStore } from 'pinia'
import { ref } from 'vue'
import type { Ref } from 'vue'
export const useTestStore = defineStore('customer-portal', () => {
console.log('Defining Teststore...')
const test: Ref<string> = ref('')
return {
test,
}
})
- 使用此存储创建可组合项:
import { ref } from 'vue'
import { useTestStore } from '@/vue/store/test'
const store = useTestStore()
- 在组件中使用 theat composable(导入存储并调用 useTestStore())
答: 暂无答案
评论
useTestStore()。
该函数本身在应用程序初始化之前不会运行,因此当它运行时,它将正常工作。useTestStore