我有一个别名type ReactMouseEvent = React.MouseEvent<HTMLDivElement, MouseEvent>
我在项目的globals.d.ts
文件夹中创建一个types
:
// in globals.d.ts
import React = require('react')
declare type ReactMouseEvent = React.MouseEvent<HTMLDivElement, MouseEvent>
并在tsconfig.json中设置typeRoots
:
{
"compilerOptions": {
"typeRoots": [
"node_modules/@types",
"./types"
]
}
}
然后我尝试以下代码:
public setPosition(ev: ReactMouseEvent) {
console.log(ev)
}
,但是VSCode仍然抱怨缺少名称ReactMouseEvent
。我该如何解决这个问题?
更新:我尝试了另一种在d.ts
中定义类型的方法:
import React = require('react')
declare global {
type ReactMouseEvent = React.MouseEvent<HTMLDivElement, MouseEvent>
}
但是这也不起作用:(
答案 0 :(得分:1)
在我的项目中,我的声明文件位于src / root中(我具有:“ include”:[“ ./src/**/*”],),并且无需在tsconfig.json中设置任何自定义typeRoots选项即可运行
也许您应该检查tsconfig文件的其他字段? (确保您包含/不排除文件)