首页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-05-01 22:26:21分类IT科技浏览6109
导读:小程序项目使用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
wordpress自助建站(WordPress快速搭建教程:轻松打造个人网站) pdf如何转换为cad文件(PDF如何转为Excel?)