尝试在插件中使用存储,但我发现当在带有 Nuxt 3 的插件中使用存储时,状态不会持久存在。从插件中删除后,持久有效。按照 nuxt 3 doc 在插件中使用 pinia nuxt 3 doc
// store/test.ts
export const useTestStore = defineStore('test-store', {
state: () => ({
count: 0,
}),
actions: {
addCount() {
this.count++;
},
},
persist: {
storage: persistedState.localStorage,
},
});
// plugin/store.ts
export default defineNuxtPlugin(({ $pinia }) => {
return {
provide: {
store: useTestStore($pinia),
},
};
});
pinia persist 的作者已经回复我,事实证明你应该跳过在 nuxt.config 中定义插件,它会工作。问题链接:https://github.com/prazdevs/pinia-plugin-persistedstate/issues/190