チェックボックスイベントハンドラーの `MouseEvent`がジェネリックではないのはなぜですか?


97

チェックボックスTSX(JSX)要素があります:

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

VS codeの助けを借りて、の入力パラメータータイプがであることthis.handleCheckboxClickがわかりましたMouseEvent<HTMLInputElement>。だから私はそれを実装しました:

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

次に[ts] Type 'MouseEvent' is not generic.、次の画像に示すように、次のようなエラーが表示されます。

ここに画像の説明を入力してください

私のパッケージのバージョン:

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

何故ですか?

回答:


263

おそらくDOMを使用していますMouseEventReact.MouseEvent<HTMLInputElement>代わりに使用してみてください。


2
私のために働いていない、私は得る:type: "checkbox" onChange: (e: MouseEvent<HTMLInputElement>) => void; defaultChec...' is not assignable to type 'InputHTMLAttributes<HTMLInputElement>'
ココドコ2017

@ココドコこれを直したことはありますか?
SuperUberDuper 2017年


3

MouseEventの代わりにSyntheticEventを使用できます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.