Typescript React_定義Event
定義 onChange 事件
在此介面中,currentTarget
是一個合併了通用約束 T
和 EventTarget
的交集型別。當事件是由輸入元素觸發時,應使用 ChangeEvent
,其在 定義檔案 及 React 官方文檔 中都有詳細描述。
正確的使用方法如下:
update = (e: React.ChangeEvent<HTMLInputElement>): void => {
this.props.login[e.currentTarget.name] = e.currentTarget.value;
}
註: 雖然最初的答案建議使用 React.FormEvent
,但更精確的型別應為 React.ChangeEvent
,如上所示。
定義 onClick 事件
參考自 StackOverflow 的討論,可以這麼使用:
onClick={(event: React.MouseEvent<HTMLElement>) => {
makeMove(ownMark, (event.target as any).index);
}}
// 或
onClick = (e: React.MouseEvent<HTMLInputElement>) => {
let button = e.target as HTMLInputElement;
}