关于在vue3 reactive
中使用TypeScript时,出现’state’ implicitly has type ‘any’ because it does not have a type annotation and is referenced directly or indirectly in its own initializer.报错。
关于这个错误的解释是:
“state
”隐式具有类型“any
”,因为它没有类型注释,并且在其自己的初始化程序中直接或间接引用。
解决方案
出现这个问题时由于TypeScript
里自带的类型检测,导致编译报错,但实际并不影响程序是使用,毕竟他在js
中是完全可行的。
这个解决方法是用了TypeScript中的类型断言,通过类型断言这种方式可以告诉编译器,“相信我,我知道自己在干什么”。 类型断言好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。 它没有运行时的影响,只是在编译阶段起作用。 TypeScript
会假设你,程序员,已经进行了必须的检查。
简言之,你(编译器)别问我(程序)了,我知道自己在干什么。