Nuxt3集成Pinia时storeToRefs返回类型异常引发TS报错的问题求助
Nuxt3集成Pinia时storeToRefs返回类型异常引发TS报错的问题求助
我在Nuxt3项目里使用Pinia时遇到了类型定义相关的问题,想请教各位怎么解决:
当我用storeToRefs解构store中的属性时:
const {isSomeFlag} = storeToRefs(someStore);
得到的isSomeFlag类型是:
isSomeFlag: Ref<{ value: boolean [RefSymbol]: true }>
但我预期的类型应该是Ref<boolean>。不仅是布尔值,数组和对象类型的属性也存在同样的问题——当我用unref处理这些Ref时会触发TS错误,但实际代码运行是完全正常的,只是TS类型校验会报错。
我当前使用的依赖版本如下:
"vue": "3.4.15""nuxt": "3.8.1""@pinia/nuxt": "^0.5.1""pinia": "^2.1.7"
我尝试过直接获取store的属性:
const isSomeFlag = someStore.isSomeFlag;
它的类型变成了:
isSomeFlag: { value: boolean; [RefSymbol]: true; }
但这样就失去了响应式,不符合我的需求。
另外我在纯Vue3+Pinia的干净项目里测试storeToRefs,它能正确返回Ref<boolean>类型,这说明问题应该出在Nuxt3与Pinia的集成环节上。
备注:内容来源于stack exchange,提问作者Denis Bookreev
相关产品推荐
相关产品推荐

