Vue3 + Typescript 中使用 Vuex报错:Binding element ‘state‘ implicitly has an ‘any’ type
Vue3 + Typescript 中使用 Vuex报错:Binding element 'state' implicitly has an ‘any’ type
·
Vue3 + Typescript 中使用 Vuex:
const book = {
...
actions: {
mergeBook({ state, commit }, data: any) {
return axios.patch(`/books/merge`, data)
.then((res: any) => {
return res;
});
}
},
};
报如下错误:Binding element 'state' implicitly has an ‘any’ type.
在typescript的编译过程中,函数的参数被提示 {变量名} implicitly has an ‘any’ type,但是笔者也不知道应该指明他为什么类型的参数。
”不知道“有三种情况:
- 我不知道它具体是什么,但它一定有某某属性:用字面量声明类型,
{ x: string }
- 我不确定它有什么属性,之后我会用
if
再仔细判断:声明为unknown
类型 - 我自己有数,你别管了:声明为
any
类型
笔者首先选择了第三种解决方法,即声明为any
类型
mergeBook({ state, commit }: { state: any, commit: any }, data: any) {
...
}
第二种解决方法简单粗暴,直接关闭这个校验规则:tsconfig.json
中 添加"noImplicitAny": false
,
更多推荐
已为社区贡献10条内容
所有评论(0)