Nuxt: 3.6.2
Pinia: 2.1.4
@pinia/nuxt: 0.4.11
在为 Pinia 定义 Nuxt 3 插件时,我需要访问 nuxtApp 上存在的 $pinia 实例。
defineNuxtPlugin()
函数传递参数nuxtApp
。 https://nuxt.com/docs/guide/directory-struct/plugins#creating-plugins
当我从该参数中解构
$pinia
时(如 pinia 文档此处所示)
我收到以下类型错误:
但是当我在
useNuxtApp()
函数中调用 $pinia
来获取 defineNuxtPlugin()
时,我就可以访问它了。
知道为什么我的 pinia 示例对我不起作用吗?
到目前为止,我已遵循 Nuxt 3 / Pinia 安装指南,如下所述:https://pinia.vuejs.org/ssr/nuxt.html#installation
我使用下面的代码,总结一下就是转换为 Pinia 类型。
import { useMainStore } from '@/store';
import { Pinia } from 'pinia';
export default defineNuxtPlugin(({ $pinia }) => {
const _pinia = $pinia as Pinia;
if (!_pinia) return;
return {
provide: {
store: useMainStore(_pinia),
},
};
});