У меня есть элемент флажка TSX (JSX):
<input type="checkbox" name={i.toString()} onClick={this.handleCheckboxClick} />
С помощью VS кода я знаю , что тип входного параметра из this.handleCheckboxClick
это MouseEvent<HTMLInputElement>
. Итак, я реализовал это с помощью:
private handleCheckboxClick(event: MouseEvent<HTMLInputElement>) {
...
}
Затем я получаю сообщение об ошибке: [ts] Type 'MouseEvent' is not generic.
Как показано на изображении ниже:
Версия моих пакетов:
"@types/react": "^15.0.29",
"@types/react-dom": "^15.5.0",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"typescript": "^2.3.4",
Почему это?
type: "checkbox" onChange: (e: MouseEvent<HTMLInputElement>) => void; defaultChec...' is not assignable to type 'InputHTMLAttributes<HTMLInputElement>'
Чтобы использовать React MouseEvent, просто не забудьте добавить:
import { MouseEvent } from 'react';
источник
Вы можете использовать SyntheticEvent вместо MouseEvent
источник