Onay kutusu olay işleyicisindeki "MouseEvent" neden genel değil?


92

Onay kutusu TSX (JSX) öğem var:

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

VS kod yardımıyla ben giriş parametresi türü olduğunu biliyoruz this.handleCheckboxClickolduğunu MouseEvent<HTMLInputElement>. Ben de bunu şu şekilde uyguladım:

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

Ardından [ts] Type 'MouseEvent' is not generic.aşağıdaki resimde gösterildiği gibi bir hata alıyorum :

görüntü açıklamasını buraya girin

Paketlerimin versiyonu:

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

Neden?

Yanıtlar:


248

Muhtemelen DOM kullanıyorsunuz MouseEvent. Onun React.MouseEvent<HTMLInputElement>yerine kullanmayı deneyin .


2
Benim için çalışmıyor, anlıyorum:type: "checkbox" onChange: (e: MouseEvent<HTMLInputElement>) => void; defaultChec...' is not assignable to type 'InputHTMLAttributes<HTMLInputElement>'
Kokodoko

@Kokodoko bunu hiç düzelttin mi?
SuperUberDuper

6

React MouseEvent'i kullanmak için şunları eklediğinizden emin olun:

import { MouseEvent } from 'react';


3

MouseEvent yerine SyntheticEvent kullanabilirsiniz

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.