J'ai un élément TSX (JSX) checkbox:
<input type="checkbox" name={i.toString()} onClick={this.handleCheckboxClick} />
Avec l'aide du code VS, je sais que le type de paramètre d'entrée du this.handleCheckboxClick
est MouseEvent<HTMLInputElement>
. Alors je l'ai implémenté avec:
private handleCheckboxClick(event: MouseEvent<HTMLInputElement>) {
...
}
Ensuite, j'obtiens une erreur disant [ts] Type 'MouseEvent' is not generic.
comme indiqué dans l'image ci-dessous:
Version de mes packages:
"@types/react": "^15.0.29",
"@types/react-dom": "^15.5.0",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"typescript": "^2.3.4",
Pourquoi donc?
type: "checkbox" onChange: (e: MouseEvent<HTMLInputElement>) => void; defaultChec...' is not assignable to type 'InputHTMLAttributes<HTMLInputElement>'
Pour utiliser React MouseEvent, assurez-vous simplement d'ajouter:
import { MouseEvent } from 'react';
la source
Vous pouvez utiliser SyntheticEvent au lieu de MouseEvent
la source