반응형
useState로 선언한 setValue를 컴포넌트에 props로 넘기고 싶은데
아래처럼 코드를 짜면 Typescript에서는 타입 경고가 뜬다!
// ParentComponent.tsx
const [value, setValue] = useState<boolean>(true);
// ...
return (
<SomeComponent setValue={setValue} />
);
// SomeComponent.tsx
interface SomeComponentProps {
setValue: () => void;
}
// ...
이 때 저 ParentComponent.tsx의 setValue에 마우스를 올리면
이런 친절한 가이드가 나오는데, 이대로 인터페이스 타입 세팅을 수정해주면 된다.
// SomeComponent.tsx
import { Dispatch, SetStateAction } from 'react';
interface SomeComponentProps {
setValue: Dispatch<SetStateAction<boolean>>;
}
// ...
참고로 인터페이스의 boolean은 value의 타입을 세팅해주면 된다.
대부분의 타입스크립트 타입 관련 에러나 경고는 가이드를 따라서 설정해주면 거의 해결된다.
반응형
'Programming > React' 카테고리의 다른 글
[React] CRA(create-react-app) + TypeScript 세팅하기 (0) | 2023.04.28 |
---|---|
[React] Hooks란? 사용방법과 배경 정리 (useEffect, useState, Custom Hook) (2) | 2023.04.21 |
React에서 <input> 태그를 사용할 때 주의할 점 (0) | 2021.07.23 |
[React] React onClick에 여러 함수를 넣고 싶다면 (+주의사항) (0) | 2021.07.23 |
React, React-Native 한 번에 여러 스타일 적용하는 법 (0) | 2021.07.23 |
댓글