我有一个 PostHog 插件。在这个插件中,我想初始化我的 Pinia 商店,这样我就可以使用商店数据。我遇到的问题是插件在我的商店加载之前加载,所以我收到了一个带有嵌套对象的代理。
如何从这个代理中提取我需要的数据,以便在我的插件中使用它?或者,我怎样才能确保我的商店在我的插件初始化之前充满了数据?
我已经尝试了
JSON.stringify
、JSON.parse
和 ...userStore.activeUser
的所有可能组合,但我总是得到一个空结果。
这是我对它进行字符串化时的 JSON 对象。
{
"$id":"user",
"activeUser":null
}
我正在尝试访问
activeUser.actieveBasisgroep
。 activeUser
应填写以下代码。
{
"user":"123",
"actieveBasisgroep":{
"id":"dde240a0-e5bb-459a-abde-6ca708861d87"
}
}
插件看起来像这样:
export default defineNuxtPlugin(async (nuxtApp) => {
const userStore = useUserStore();
console.log(JSON.stringify({ ...userStore }));
console.log(toRaw({ ...userStore.activeUser }));
if (toRaw({ ...userStore.activeUser }).actieveBasisgroep) {
console.log('nope');
}
return '';
});
我的商店是这样的:
export const useUserStore = defineStore('user', {
state: () => {
return {
activeUser: null as null | ActiveUser,
};
},
// Setters, getters, actions ...