首页IT科技抖音小程序制作平台官网(小程序 getActivePinia was called with no active Pinia. Did you forget to install pinia?)

抖音小程序制作平台官网(小程序 getActivePinia was called with no active Pinia. Did you forget to install pinia?)

时间2025-08-02 16:33:48分类IT科技浏览7917
导读:小程序项目使用pinia做状态管理报错:...

小程序项目使用pinia做状态管理报错:

Error: [🍍]: getActivePinia was called with no active Pinia. Did you forget to install pinia?

const pinia = createPinia()

app.use(pinia)

app运行打包时有个同样的错误

错误原因是:在外部js/ts中使用时 pinia还没有完成初始化

例如 // login.ts文件中 import { storeToRefs } from "pinia"; import useUserStore from "@/store/user"; const { user, userState } = storeToRefs(useUserStore());

在外部js/ts中导入useUserStore 后立马声明变量const { user, userState } = storeToRefs(useUserStore()); 就会出现上面的报错清空

解决方案:

将 const { user, userState } = storeToRefs(useUserStore()); 写在函数里面

by the way: 网上查找问题的解决方案时                 ,有的原因是在setup 之外调用了 usestore                          ,大家自查这种情况吧

还有一个方案时在外部js/ts中使用的时候        ,先导入pinia             ,如下方式

import pinia from "@/store/pinia"; import { userState } from "@/store/user"; const store = useUser(pinia)// 这里一定要把 pinia传入进去

但是我在使用的过程中会出现一个时间差                          ,刚登录赋值            ,随后使用过程的时候还是空值的情况

(大胆的猜测可能因为在不用页面导入了login.ts ,然后拿到的是赋值前后不同时期的值😂)

不知道大家能不能理解我想表达的意思        ,会不会也出现这种情况                。也有可能这个方案也是可行的额                          ,但我的代码逻辑不适合这个方案😂😂😂

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
苹果cmsv10模板下载(苹果CMSV10最新大橙子电影模板破解无授权版-OK源码破解) 用html语言制作一个简单网页(如何用html制作一个简单的网页)