为什么复选框事件处理程序中的“ MouseEvent”不是通用的?

我有一个复选框 TSX (JSX)元素:

<input type="checkbox" name={i.toString()} onClick={this.handleCheckboxClick} />

在 VS 代码的帮助下,我知道 this.handleCheckboxClick的输入参数类型是 MouseEvent<HTMLInputElement>。所以我用以下方法实现了它:

private handleCheckboxClick(event: MouseEvent<HTMLInputElement>) {
...
}

然后我得到一个错误说 [ts] Type 'MouseEvent' is not generic.如下图所示:

enter image description here

我的软件包版本:

"@types/react": "^15.0.29",
"@types/react-dom": "^15.5.0",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"typescript": "^2.3.4",

为什么?

54133 次浏览

您可能使用的是 DOMMouseEvent

可以使用 SyntheticEvent 而不是 MouseEvent

为了使用 React MouseEvent,只要确保添加:

import { MouseEvent } from 'react';