当前位置: 代码迷 >> 综合 >> it does not have a type annotation and is referenced directly or indirectly in its own initializer
  详细解决方案

it does not have a type annotation and is referenced directly or indirectly in its own initializer

热度:75   发布时间:2023-11-22 21:24:08.0

关于在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会假设你,程序员,已经进行了必须的检查。
简言之,你(编译器)别问我(程序)了,我知道自己在干什么。

  相关解决方案