programing

체크박스 이벤트핸들러의 'MouseEvent'가 범용이 아닌 이유는 무엇입니까?

newstyles 2023. 2. 28. 23:21

체크박스 이벤트핸들러의 'MouseEvent'가 범용이 아닌 이유는 무엇입니까?

TSX(JSX) 요소 확인란이 있습니다.

<input type="checkbox" name={i.toString()} onClick={this.handleCheckboxClick} />

VS 코드의 도움을 받아 입력 파라미터 유형이this.handleCheckboxClickMouseEvent<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",

왜 그런 것일까요?

DOM을 사용하고 있을 겁니다.MouseEvent을 사용해 보세요.React.MouseEvent<HTMLInputElement>대신.

React MouseEvent를 사용하려면 다음 사항을 추가해야 합니다.

import { MouseEvent } from 'react';

MouseEvent 대신 SyntheticEvent를 사용할 수 있습니다.

React에서 이벤트를 가져오는지 확인만 하면 됩니다.

import { MouseEvent, MouseEventHandler } from 'react';

언급URL : https://stackoverflow.com/questions/44764146/why-is-the-mouseevent-in-the-checkbox-event-handler-not-generic