组件库设计Pinia状态管理隔离问题项目背景控制台显示的报错问题整理踩坑记录改main.ts 挂载的应用#app改成#app_components【失败】初始化一个vite空白项目调试问题解决项目背景封装一个带pinia的私有组件给外部项目引用这个pinia 要如何实例化在哪里实例化控制台显示的报错“getActivePinia()” was called but there was no active Pinia. Are you trying to use a store before calling “app.use(pinia)”?问题整理我有个私有组件库其中一个组件使用到pinia做状态管理主项目的main.ts时已经实例化了pinia私有组件也只有在main.ts里面有实例化pinia但是不在main里面实例私有组件的pinia我运行私有组件即不能编译又不能调试怎么解决这么问题踩坑记录改main.ts 挂载的应用#app改成#app_components【失败】初始化一个vite空白项目调试在一个空白的vitevue3项目里面直接引用子组件库的ShopPicker.vue 不管在空白项目的mian.ts里面实例pinia与否都会报错 “getActivePinia()” was called but there was no active Pinia. Are you trying to use a store before calling “app.use(pinia)”?问题解决在私有组件未检测到pinia的地方自己初始化一个pinia。也就是私有组件库main.ts中的pinia实例化当私有组件被主项目引用的时候会失效import{getActivePinia,setActivePinia,createPinia}frompinia;letpiniagetActivePinia();if(!pinia){console.warn(⚠️ 未检测到 Pinia组件内部自动创建不推荐生产使用);piniacreatePinia();setActivePinia(pinia);}
组件库设计 + Pinia状态管理隔离问题
组件库设计Pinia状态管理隔离问题项目背景控制台显示的报错问题整理踩坑记录改main.ts 挂载的应用#app改成#app_components【失败】初始化一个vite空白项目调试问题解决项目背景封装一个带pinia的私有组件给外部项目引用这个pinia 要如何实例化在哪里实例化控制台显示的报错“getActivePinia()” was called but there was no active Pinia. Are you trying to use a store before calling “app.use(pinia)”?问题整理我有个私有组件库其中一个组件使用到pinia做状态管理主项目的main.ts时已经实例化了pinia私有组件也只有在main.ts里面有实例化pinia但是不在main里面实例私有组件的pinia我运行私有组件即不能编译又不能调试怎么解决这么问题踩坑记录改main.ts 挂载的应用#app改成#app_components【失败】初始化一个vite空白项目调试在一个空白的vitevue3项目里面直接引用子组件库的ShopPicker.vue 不管在空白项目的mian.ts里面实例pinia与否都会报错 “getActivePinia()” was called but there was no active Pinia. Are you trying to use a store before calling “app.use(pinia)”?问题解决在私有组件未检测到pinia的地方自己初始化一个pinia。也就是私有组件库main.ts中的pinia实例化当私有组件被主项目引用的时候会失效import{getActivePinia,setActivePinia,createPinia}frompinia;letpiniagetActivePinia();if(!pinia){console.warn(⚠️ 未检测到 Pinia组件内部自动创建不推荐生产使用);piniacreatePinia();setActivePinia(pinia);}