가수면
타입스크립트에서 children 본문
JSX.Element
children이 단일 React 요소여야 하는 경우 사용. 여러 요소는 허용하지 않는다.
type Props = {
title: string,
children?: JSX.Element,
};
const Page = ({ title, children }: Props) => (
<div>
<h1>{title}</h1>
{children}
</div>
);
여러 children 사용 가능. 그러나 이렇게 해도 문자열은 허용하지 않는다.
type Props = {
title: string,
children?: JSX.Element | JSX.Element[];
};
이렇게하면 문자열도 가능. 그런데 숫자는 불가능...
type Props = {
title: string;
children:
| JSX.Element
| JSX.Element[]
| string
| string[];
};
React.ReactNode
이 한 줄이면 위의 불편한 점들이 모두 해결된다.
type Props = {
title: string;
children?: React.ReactNode;
};
const Wrapper = ({ children }: Props) => {
return <WrapperDiv>{children}</WrapperDiv>;
};
export default Wrapper;
'JavaScript > TypeScript' 카테고리의 다른 글
타입 심화 (0) | 2023.04.12 |
---|---|
넘어오는 데이터가 두 타입 중 하나일 때 (0) | 2023.04.05 |
라이브러리 매개변수 (0) | 2023.03.27 |
인터페이스 vs 타입 앨리어스 (0) | 2023.03.22 |
string | undefined 등 props 관련 오류 (0) | 2023.01.08 |
Comments