React/컴포넌트/Lesson 06
리스트와 Key
25분·theory
이 챕터
4/4
JavaScript
리스트와 Key
💡 왜 배워야 할까요?
🎯
배열 데이터를 화면에 표시하는 가장 기본적인 방법입니다.
💼
Key를 잘못 쓰면 버그가 생기므로 반드시 배워야 합니다.
⚡
상품 목록, 댓글, 검색 결과 등 모든 리스트에 필요합니다.
🏢 실무에서는
실무에서는 데이터베이스에서 받은 상품 배열을 map()으로 상품 카드 목록으로 변환합니다. Key를 제대로 설정하지 않으면 아이템을 삭제할 때 잘못된 항목이 사라지는 버그가 발생합니다.
리스트와 key — map으로 배열을 UI로 변환
실생활 비유: 학생 명단
선생님이 학생 명단 배열을 보고 출석카드를 하나씩 만드는 것처럼,
React는 배열을 map()으로 컴포넌트 목록으로 변환합니다.
기본 패턴
key가 왜 필요한가?
React가 리스트에서 어떤 항목이 추가/삭제/변경됐는지 알 수 있도록
각 요소에 고유한 식별자를 붙입니다.
key 권장 우선순위
1. key={item.id} — 서버에서 온 고유 ID (최선)
2. key={item.slug} — 고유한 문자열
3. key={index} — 인덱스 (목록이 변하지 않을 때만)
key를 쓰지 않으면?
- ▸성능 저하 (전체 리스트 재렌더링)
- ▸콘솔에 경고 발생
- ▸애니메이션/상태 오작동 가능
💡 💡 Key 팁
- ▸DB ID: 가장 이상적인 Key
- ▸인덱스 Key: 정렬/삭제 없는 정적 리스트에서만
- ▸crypto.randomUUID(): 클라이언트에서 ID 생성
- ▸성능: Key가 올바르면 React가 최소한의 DOM만 업데이트
이 개념은 React 컴포넌트 개발에서 핵심적입니다. 리액트의 선언적 UI 패러다임을 이해하고, props와 state의 차이를 명확히 구분하세요. 컴포넌트는 입력(props)에 대해 항상 동일한 출력(JSX)을 반환하는 순수 함수처럼 동작해야 합니다.
⚛️ React 패턴 — 리스트와 Key
리스트와 Key을 React에서 어떻게 쓰는지 코드와 함께 단계별로 익혀보세요.
1
🧩
1. 리스트와 Key 사용 시나리오
이 기능이 필요한 상황.
↓
2
💻
2. 코드 작성
리스트와 Key의 기본 사용법.
↓
3
🎨
3. 렌더링 결과
사용자가 보는 화면.
↓
4
💡
4. 실무 팁
흔한 함정과 베스트 프랙티스.
📋 리스트 렌더링 + 추가/삭제
코드를 직접 수정하면 0.7초 후 자동 반영됩니다. React 18 + Babel로 브라우저에서 즉시 실행.
🖥️ 실행 결과 — 렌더링된 React 컴포넌트
✏️ React 코드 수정하기 (클릭해서 열기)
⚛️ React 18 + Babel Standalone — 결과 먼저 확인 후 코드 편집기에서 직접 수정해볼 수 있습니다.
확인 퀴즈
리스트 렌더링에서 key prop을 사용하지 않으면?