reactjs - Proč není React `MouseEvent` v obsluze události zaškrtávacího políčka generický?
Mám prvek checkbox TSX(JSX):
<input type="checkbox" name={i.toString()} onClick={this.handleCheckboxClick} />
S pomocí VS Code vím, že typ vstupního parametru this.handleCheckboxClick je MouseEvent<HTMLInputElement>. Takže jsem to implementoval takto:
private handleCheckboxClick(event: MouseEvent<HTMLInputElement>) {
...
}
Pak se mi zobrazí chyba, která říká [ts] Typ 'MouseEvent' není generický. Jak je vidět na obrázku níže:
Verze mých balíčků:
"@types/react": "^15.0.29",
"@types/react-dom": "^15.5.0",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"typescript": "^2.3.4",
Proč je to tak?
Odpověď č. 1
Pravděpodobně používáte DOM MouseEvent. Zkuste místo toho použít React.MouseEvent<HTMLInputElement>.
Odpověď č. 2
Aby bylo možné použít React MouseEvent, ujistěte se, že přidáte:
import { MouseEvent } from 'react';
