React/컴포넌트/Lesson 04
Props
30분·theory
이 챕터
2/4
JavaScript
Props
💡 왜 배워야 할까요?
🎯
부모와 자식 컴포넌트 간 데이터 통신의 기본입니다.
💼
같은 컴포넌트를 다양한 데이터로 재사용할 수 있습니다.
⚡
React 개발의 가장 중요한 개념입니다.
🏢 실무에서는
실무에서는 Button 컴포넌트에 label, color, size를 props로 전달해 다양한 버튼을 만듭니다. UserCard 컴포넌트에 이름, 이메일, 사진을 props로 넘겨 여러 사용자 카드를 표시합니다.
Props — 부모에서 자식으로 보내는 택배 상자
실생활 비유: 택배 상자
부모 컴포넌트가 자식에게 데이터를 담은 택배를 보냅니다.
자식은 택배를 받아서 사용하지만, 내용물을 바꿀 수는 없습니다.
핵심 특성
- ▸단방향: 부모 → 자식만 (자식 → 부모는 callback 함수로)
- ▸읽기 전용: 자식에서 props 직접 수정 불가
- ▸어떤 값이든: 문자열, 숫자, 함수, 컴포넌트도 전달 가능
사용법
💡 💡 Props 팁
- ▸구조분해:
({ name, age })패턴 사용 - ▸Optional:
?로 선택적 props 표시 - ▸extends: HTML 속성 상속 (
React.InputHTMLAttributes) - ▸React 19: Props drilling 대신
use(Context)활용
이 개념은 React 컴포넌트 개발에서 핵심적입니다. 리액트의 선언적 UI 패러다임을 이해하고, props와 state의 차이를 명확히 구분하세요. 컴포넌트는 입력(props)에 대해 항상 동일한 출력(JSX)을 반환하는 순수 함수처럼 동작해야 합니다.
⚛️ React 패턴 — Props
Props을 React에서 어떻게 쓰는지 코드와 함께 단계별로 익혀보세요.
1
🧩
1. 컴포넌트 정의
함수가 곧 컴포넌트
function Greeting({ name }) {
return <h1>안녕, {name}!</h1>;
}
↓
2
📤
2. Props 전달
부모 → 자식으로 데이터 단방향 흐름
<Greeting name="홍길동" />
↓
3
🔁
3. 재사용
같은 컴포넌트, 다른 props로 여러 번
<Greeting name="Alice" />
<Greeting name="Bob" />
↓
4
💡
4. 단방향 데이터 흐름
자식이 부모 state를 바꾸려면 콜백 함수를 props로 받음
📤 Props — 부모→자식 데이터 전달
코드를 직접 수정하면 0.7초 후 자동 반영됩니다. React 18 + Babel로 브라우저에서 즉시 실행.
🖥️ 실행 결과 — 렌더링된 React 컴포넌트
✏️ React 코드 수정하기 (클릭해서 열기)
⚛️ React 18 + Babel Standalone — 결과 먼저 확인 후 코드 편집기에서 직접 수정해볼 수 있습니다.
확인 퀴즈
자식 컴포넌트에서 props를 수정하려 하면?