const handleSearchInput = (e: string) => {
setMall(e.target.value);
};
이런 식으로 타입 지정을 해줬는데 target에서 string' 형식에 'target' 속성이 없습니다.라는 에러가 났다.
input 태그에 마우스를 대보면
(property) JSX.IntrinsicElements.input: DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>
이런 설명을 해주는데 이거를 타입으로 지정해줘야한다!
대신 핸들러는 빼줘야 한다.
결과적으로
React.ChangeEvent<HTMLInputElement> 이걸 타입으로 지정해주면 더이상 에러가 발생하지 않는다.
const handleSearchInput = (e: React.ChangeEvent<HTMLInputElement> ) => {
setMall(e.target.value);
};
참조
'Next.js' 카테고리의 다른 글
에러 Uncaught SyntaxError: Unexpected token '<' (0) | 2024.08.20 |
---|---|
url 경로가 바뀔 때마다 useEffect 실행하는 방법 - usePathname(), useSearchParams() 사용하기 (0) | 2024.06.18 |
useEffect 의존성배열이 제대로 안돌아간 이유 (0) | 2024.03.25 |
백엔드랑 통신 post 오류 해결 (0) | 2023.04.10 |
next.js에서 클릭 시 특정 영역으로 자동 스크롤 이동 (0) | 2023.03.14 |