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

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

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

借助VS代码,我知道[ts] Type 'MouseEvent' is not generic.的输入参数类型为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",

这是为什么?

Ben asked 2020-01-13T17:16:12Z
2个解决方案
154 votes

您可能正在使用DOMMouseEvent。请尝试改用React.MouseEvent<HTMLInputElement>

rossipedia answered 2020-01-13T17:16:38Z
0 votes

您可以使用SyntheticEvent代替MouseEvent

user3036876 answered 2020-01-13T17:16:58Z
translate from https://stackoverflow.com:/questions/44764146/why-is-the-mouseevent-in-the-checkbox-event-handler-not-generic