Mam element checkbox TSX (JSX):
<input type="checkbox" name={i.toString()} onClick={this.handleCheckboxClick} />
Z pomocą kodu VS wiem, że typ parametru wejściowego this.handleCheckboxClick
to MouseEvent<HTMLInputElement>
. Więc zaimplementowałem to z:
private handleCheckboxClick(event: MouseEvent<HTMLInputElement>) {
...
}
Następnie [ts] Type 'MouseEvent' is not generic.
pojawia się błąd mówiący, jak pokazano na poniższym obrazku:
Wersja moich pakietów:
"@types/react": "^15.0.29",
"@types/react-dom": "^15.5.0",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"typescript": "^2.3.4",
Dlaczego?
type: "checkbox" onChange: (e: MouseEvent<HTMLInputElement>) => void; defaultChec...' is not assignable to type 'InputHTMLAttributes<HTMLInputElement>'
Aby skorzystać z React MouseEvent, po prostu dodaj:
import { MouseEvent } from 'react';
źródło
Możesz użyć SyntheticEvent zamiast MouseEvent
źródło