체크 박스 이벤트 핸들러의 'MouseEvent'가 일반적이지 않은 이유는 무엇입니까?


92

확인란 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",

왜 그런 겁니까?

답변:


248

아마도 DOM을 사용하고있을 것입니다 MouseEvent. React.MouseEvent<HTMLInputElement>대신 사용해보십시오 .


2
나를 위해 작동하지 않는, 내가 얻을 :type: "checkbox" onChange: (e: MouseEvent<HTMLInputElement>) => void; defaultChec...' is not assignable to type 'InputHTMLAttributes<HTMLInputElement>'
Kokodoko

@Kokodoko 당신이 이것을 고친 적이 있습니까?
SuperUberDuper


3

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.