thumbnail
onChange의 event type 찾기
Mar 09, 2023

onChange, onClick과 같은 이벤트 핸들러에서 인자로 전달받는 event의 타입을 찾아보자.

event 타입 추론

아래 form 요소의 onSubmit 이벤트에 전달할 핸들러 함수 예시가 있다. handlePreventSubmit 함수의 매개변수에 해당하는 e(= event)의 타입을 지정해 주어야 한다.

const handlePreventSubmit = (e: /* type?? */) => { // ... }; export default function SearchBox() { return ( <div> <form onSubmit={handlePreventSubmit}> <input type="text" placeholder="Search" /> </form> </div> ); }

VSCode에서 type 찾기

event 타입을 예측하기 힘들 때는 에디터의 도움을 받도록 하자. VSCode에서는 친절히도 커서를 올리기만 하면 해당 타입을 쉽게 알려준다.


onSubmit에 커서를 올리면 아래와 같이 팝업으로 타입이 명시되는데, .onSubmit?: 뒤에 나오는 React.FormEventHandler<HTMLFormElement>가 바로 찾고 있던 event의 타입이다.

Check event type

이를 복사해 핸들러 함수에 적용해주면 아래와 같다. 단, event에 타입을 지정해줄 때는 Handler를 제외하고 붙여 넣어 준다.

const handlePreventSubmit = (e: React.FormEvent<HTMLFormElement>) => { // ... };

event에 type을 적용하는 대신 핸들러 자체에 type을 적용해줄 수도 있다. 이때는 아까 복사한 그대로 붙여 넣어 준다.

const handlePreventSubmit: React.FormEventHandler<HTMLFormElement> = (e) => { // ... };

다른 이벤트 타입 확인하기

더 많은 타입을 보고 싶다면 onSubmit에 커서를 올리고 맥 기준 cmd 키와 함께 클릭하면 다양한 정보들을 확인할 수 있다.

Other types

아래 링크에서도 확인할 수 있으니 참고해보는 것도 좋다.


Table Of Contents
nxnaxx blog © 2022-2024 Powered By Gatsby.