컴포넌트끼리 데이터 주고받는 방법, Props가 뭐예요?
2025. 6. 19. 10:26ㆍReact

React에서 컴포넌트를 막 만들기 시작하면,
이런 생각이 들 수 있어요.
"같은 버튼인데 글씨만 다르게 하고 싶은데?"
"컴포넌트 안에 정보를 어떻게 넣지?"
그럴 때 등장하는 게 바로 Props입니다!
오늘은
✅ Props가 뭔지
✅ 왜 필요한지
✅ 어떻게 쓰는지
진짜 쉽게 정리해드릴게요.
1️⃣ Props란 뭘까?
**Props = properties(속성)**의 줄임말이에요.
쉽게 말하면,
👉 컴포넌트에 값을 전달할 때 사용하는 방법이에요!
예를 들어 볼게요
jsx
복사편집
function Welcome() { return <h1>안녕하세요!</h1>; }
이 Welcome 컴포넌트를 여러 번 쓰고 싶은데,
각각 이름만 다르게 하고 싶어요.
이렇게 바꾸면?
jsx
복사편집
function Welcome(props) { return <h1>안녕하세요, {props.name}님!</h1>; }
이제 이름을 바꿔서 부를 수 있어요!
jsx
복사편집
function App() { return ( <div> <Welcome name="리아" /> <Welcome name="철수" /> </div> ); }
결과는 이렇게 나와요:
복사편집
안녕하세요, 리아님! 안녕하세요, 철수님!
📌 즉, Props는 컴포넌트에 값을 넘겨주는 방법이에요!
마치 함수에 인자(argument)를 전달하는 것과 같아요.
2️⃣ Props는 이렇게 생겼어요
jsx
복사편집
function MyComponent(props) { return <p>{props.text}</p>; }
컴포넌트에서 props는 객체처럼 사용해요.
props.text, props.color 이런 식으로 꺼내 쓰면 됩니다.
3️⃣ 구조 분해로 더 깔끔하게 쓰기
jsx
복사편집
function MyComponent({ text }) { return <p>{text}</p>; }
이렇게 구조 분해를 하면 props.text 대신 text만 써도 돼요.
더 간결하고 보기 좋죠?
4️⃣ 여러 개의 Props 전달하기
jsx
복사편집
function Profile({ name, age }) { return ( <div> <p>이름: {name}</p> <p>나이: {age}</p> </div> ); } function App() { return <Profile name="리아" age={25} />; }
숫자, 문자열, 불린 등 다양한 값을 props로 넘길 수 있어요.
5️⃣ Props는 읽기 전용이에요!
React에서는 Props를 수정하면 안 돼요.
jsx
복사편집
// 이런 건 ❌ props.name = "바꾸면 안 돼요!";
👉 Props는 부모 컴포넌트가 자식에게 일방적으로 전달하는 값이에요.
변경이 필요하다면 state를 사용해야 해요 (이건 다음 편에서!)
✏️ 한 줄 정리
Props는 React에서 컴포넌트끼리 데이터를 주고받는 기본 도구입니다.
함수에 값을 넣듯이, 컴포넌트에도 값을 넣어줄 수 있어요!
'React' 카테고리의 다른 글
| 이벤트 처리하기" – 클릭, 입력 등 사용자 행동에 반응하는 법 (0) | 2025.06.19 |
|---|---|
| 버튼 누르면 바뀌는 값, State가 뭐예요? (0) | 2025.06.19 |
| React는 컴포넌트 기반,,,그래서 컴포넌트가 뭔데? (0) | 2025.06.19 |
| JSX는 HTML이랑 뭐가 다를까?도대체 JSX가 뭔데!! (0) | 2025.06.19 |
| React를 Vite로 설치하는게 국룰? (0) | 2025.06.19 |