Tengo un elemento de casilla de verificación TSX (JSX):
<input type="checkbox" name={i.toString()} onClick={this.handleCheckboxClick} />
Con la ayuda del código VS, sé que el tipo de parámetro de entrada de this.handleCheckboxClick
is MouseEvent<HTMLInputElement>
. Entonces lo implementé con:
private handleCheckboxClick(event: MouseEvent<HTMLInputElement>) {
...
}
Luego [ts] Type 'MouseEvent' is not generic.
aparece un error que dice como se muestra en la imagen a continuación:
Versión de mis paquetes:
"@types/react": "^15.0.29",
"@types/react-dom": "^15.5.0",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"typescript": "^2.3.4",
¿Porqué es eso?
type: "checkbox" onChange: (e: MouseEvent<HTMLInputElement>) => void; defaultChec...' is not assignable to type 'InputHTMLAttributes<HTMLInputElement>'
Para usar React MouseEvent solo asegúrese de agregar:
import { MouseEvent } from 'react';
fuente
Puede utilizar SyntheticEvent en lugar de MouseEvent
fuente