javascript/typescript

[React][typescript] React.KeyboardEvent React.MouseEvent 동시에 쓸때

킹king 2024. 1. 24. 16:29
반응형

예를들어 검색input과 검색버튼에 같은 함수를 건거라고 보면 됨. 그 대신 input은 keydown이벤트로, 버튼은 click이벤트로 걸어서 keydown일때는 엔터키 체크하고 click은 그냥 검색하고 뭐 그런식으로 하려는데 자꾸 에러가 나는 것임.

 

1. as로 걸어주기

if (e.type == "keydown" && e.code == "Enter") {
  gotoPage(v);
  return;
}

if (e.type == "click") {
  gotoPage(v);
}

이건 고치기 전임

 

if (e.type == "keydown" && (e as React.KeyboardEvent).code == "Enter") {
  gotoPage(v);
  return;
}

if (e.type == "click") {
  gotoPage(v);
}

첫줄처럼 괄호로 e를 감싸고 해당 타입으로 선언해주면 된다.