Vue3在router中使用pinia报错的简单解决办法
作者:灰机大大
这篇文章主要给大家介绍了关于Vue3在router中使用pinia报错的简单解决办法,什么是pinia,可以理解为状态管理工具,文中通过图文介绍的非常详细,需要的朋友可以参考下
报错会报两个一个是xxxStore WEBPACK_IMPORTED_MODULE_1__.default) is not a function还有一个是getActivePinia was called with no active Pinia
因为接到了要在路由守卫中增加判断的需求,需要用到store中的数据,于是在router里面import了store,beforeEach里use了,然后启动就报异常,去官网翻文档。
(https://pinia.web3doc.top/core-concepts/outside-component-usage.html)
大概的意思是要在初始化了pinia之后调用才行,得把useStore的逻辑写到方法里,照着操作一遍发现还是xxxStore WEBPACK_IMPORTED_MODULE_1__.default) is not a function。于是乎检查所有Store,发现有些Store中代码是这样的
知晓一二了,一个Store引入另外一个Store,const userStore = useUserStore();的位置应该放在具体方法里面不能放到上面,否则也会像Router那样在pinia初始化之前就被调用从而报xxx is not a function的错误
解决方案:检查所有Store包括js,把这种在方法外部useStore的地方都改到具体使用的方法里去
再试试,就一切正常了
总结
到此这篇关于Vue3在router中使用pinia报错解决的文章就介绍到这了,更多相关Vue3 router使用pinia报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!