- 모든 타입 명시를 해야한다.
- 함수 작성시 유의점
- 함수 작성시 인자값을 받아야 한다면, interface 로 정의 후 해당 interface를 타입으로 받아야 한다.
- 기존방식인 export function 함수명 () {} 을 사용 할 수도 있다
- export const 함수명 : React.FC<인터페이스타입> = (변수이름) => {} 을 사용하길 권장한다.
interface TestVal
{
n1 : string
}
//이렇게 쓰는것을 권장
export const TestFC : React.FC<TestVal> = (n1) => {
return (
<div>
{n1.n1}
</div>
)
}
//이렇게 쓸 수도 있다
export function TestFC(n1 : TestVal)
{
return (
<div>
{n1.n1}
</div>
);
}
- 함수를 인자값으로 넘겨주는 경우 예시
- interface에 함수명 () : 리턴값을 명시한다.
- 인자값이 있을 경우 interface에 함수명 (인자값 : 타입) : 리턴값 으로 적어준다
interface TestVal
{
n1 : string,
funcCall() : void
}
....
const TestFunc = () => {
}
....
<TestFC n1={"aa"} funcCall={TestFunc}/>
- Hook 을 사용 할 때 에도 type를 명시해야 한다.
.....
interface TestVal
{
n1 : string
}
const [val1, SetVal] = useState<TestVal>("");