React 컴포넌트에서 <Main> ... </Main> 같은 열고 닫는 태그 사이의 내용은 자동으로 props.children이라는 기본 prop으로 전달됩니다.
✅ children은 “기본적으로 제공되는 prop”인가?
- 네.
children은 React에서 특별 취급하는 예약 prop입니다. <Main> ... </Main>이렇게 쓰면, 안에 있는 JSX(...)가 자동으로children이라는 이름으로props객체에 들어갑니다.- 따라서
<Main><p>Hi</p></Main>이라고 쓰면props.children은<p>Hi</p>가 됩니다.
✅ props에는 기본적으로 어떤 게 있나?
- React 함수형 컴포넌트에서 특별히 자동으로 생기는 prop은 사실상
children하나뿐이에요. - 다른 모든 prop(
title,id,className,onClick등)은 사용자가 직접 컴포넌트에 속성으로 넘길 때만props객체에 추가됩니다.
예시:
<Main title="메인화면" className="wrapper">
<Home />
</Main>
→ 이 경우 props는 다음과 같습니다:
{
title: "메인화면",
className: "wrapper",
children: <Home />
}
✅ 정리
- 자동 제공되는 기본 prop:
children - 나머지 props: 전부 사용자가
<Main someProp="..." />처럼 직접 넣어야 생깁니다. - React는
children말고는 기본 prop을 따로 만들어주지 않아요. (단, 클래스형 컴포넌트에서는this.props를 통해 동일하게 접근)
👉 혹시 원하시면, props.children에 어떤 값이 실제로 들어가는지 콘솔로 찍어서 직접 확인해보는 예제도 보여드릴까요?
Props.Children
'프로그래머로의 여정' 카테고리의 다른 글
| Kotlin Script 파일 (0) | 2025.10.18 |
|---|---|
| props in React (0) | 2025.09.05 |
| [코드분석] 코드에서 key의 의미 (0) | 2025.09.04 |
| JS에서 key는 무엇인가 (0) | 2025.09.04 |
| React에서 map을 사용할 때 key의 의미와 중요성 (0) | 2025.09.04 |