【pinia】外部文件引用pinia报未注册错误

136 阅读1分钟

想要直接在组件外的文件使用Pinia,遇到报错getActivePinia was called with no active Pinia. Did you forget to install pinia?

原因:是pinia在main.ts中还未注册好,便在其他文件中使用了它。

解决方法:在store中导出pinia的单独store文件,在需要使用的文件中引入下 pinia 的文件和  store 的文件就行了。

具体:

@/store/store.ts

import { createPinia } from 'pinia'
const pinia = createPinia()
export default pinia;

main.ts

import { createApp } from 'vue'
import App from './App.vue'
import pinia from "@/store/store"
createApp(App)
    .use(pinia)
    .mount('#app')

需要使用到的文件

import pinia from '@/store/store' import { useStore } from '@/store';
const store = useStore(pinia)