web-dev-qa-db-fra.com

Pourquoi le `MouseEvent` dans le gestionnaire d’événements de case à cocher n’est-il pas générique?

J'ai un élément de case à cocher TSX (JSX):

<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>) {
    ...
}

Puis j'obtiens une erreur en disant [ts] Type 'MouseEvent' is not generic. Comme indiqué dans l'image ci-dessous:

enter image description here

Version de mes colis:

"@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?

49
Ben

Vous utilisez probablement le DOM MouseEvent. Essayez d'utiliser React.MouseEvent<HTMLInputElement> au lieu.

146
rossipedia