Typescript 如何向Vuex mapState函数提供类型?

Typescript 如何向Vuex mapState函数提供类型?,typescript,vue.js,vuex,Typescript,Vue.js,Vuex,我正在Vuex组件中使用Typescript,并希望为mapState中的映射函数提供类型。直觉上,我是这样写的: @组件({ 计算:{ …映射状态(MY_命名空间{ fooIndex:(state:MyModel)=>state.values.indexOf('foo')) }) //这里有更多的计算道具 } }) 导出默认类MyComponent扩展Vue{} 这在过去是有效的,但是在我的依赖项升级之后,这不再有效了,我得到了一个错误没有重载匹配这个调用。 重载第1个,共6个,'(命名空间

我正在Vuex组件中使用Typescript,并希望为
mapState
中的映射函数提供类型。直觉上,我是这样写的:

@组件({
计算:{
…映射状态(MY_命名空间{
fooIndex:(state:MyModel)=>state.values.indexOf('foo'))
})
//这里有更多的计算道具
}
})
导出默认类MyComponent扩展Vue{}
这在过去是有效的,但是在我的依赖项升级之后,这不再有效了,我得到了一个错误
没有重载匹配这个调用。
重载第1个,共6个,'(命名空间:string,映射:string[]):{[x:string]:Computed;}',出现以下错误。

作为一种解决方法,我可以从函数参数中删除类型,并按如下方式进行转换:

@组件({
计算:{
…映射状态(MY_命名空间{
fooIndex:state=>(状态为MyModel).values.indexOf('foo'))
}),
}
})
导出默认类MyComponent扩展Vue{}

有没有更好的方式来表示类型?

您正在使用的。会有帮助吗?你解决了吗?我也遇到了同样的问题。