반응형
📘 리액트 스터디 시리즈 5편
리스트 렌더링 & 조건부 렌더링|React로 유동적인 UI 만들기
안녕하세요! 오늘은 리액트에서 리스트를 출력하는 방법과 조건에 따라 UI를 다르게 보여주는 방법을 배워봅니다 😊
이제부터는 데이터에 따라 동적으로 화면을 구성할 수 있어요!
🔁 리스트 렌더링 (map 사용)
React에서는 배열.map()을 이용해 컴포넌트를 반복 출력합니다.
const items = ['사과', '바나나', '포도'];
function ItemList() {
return (
<ul>
{items.map((item, index) => (
<li key={index}>{item}</li>
))}
</ul>
);
}
- ✅ 각 요소를
li
로 렌더링 - ✅
key
는 각 항목의 고유값 (index는 임시로 사용 가능)
🎯 주의: key는 React가 변경된 항목을 추적하는 데 사용되며, 같은 컴포넌트 내에서는 고유해야 합니다.
📦 실습 - 유저 리스트 출력하기
const users = [
{ id: 1, name: '영희' },
{ id: 2, name: '철수' },
{ id: 3, name: '민수' },
];
function UserList() {
return (
<div>
{users.map((user) => (
<p key={user.id}>👤 {user.name}</p>
))}
</div>
);
}
📋 결과: 각 유저의 이름이 리스트 형식으로 출력됩니다.
🔀 조건부 렌더링 (조건에 따라 출력 여부 결정)
React에서는 삼항 연산자나 논리 연산자를 이용해 조건부 UI를 구성할 수 있어요.
✔ 삼항 연산자
const isLoggedIn = true;
function Greeting() {
return (
<h1>
{isLoggedIn ? '환영합니다!' : '로그인해주세요'}
</h1>
);
}
✔ 논리 연산자 (&&)
const hasMessage = true;
function Notification() {
return (
<div>
{hasMessage && <p>📨 새로운 메시지가 도착했습니다</p>}
</div>
);
}
🎯 조건이 true일 때만 해당 UI를 보여주고 싶을 때 유용합니다.
📋 실습 - 좋아요 수 출력하기
function LikeCount({ count }) {
return (
<div>
{count === 0 ? (
<p>🤍 아직 좋아요가 없습니다</p>
) : (
<p>❤️ 좋아요 {count}개</p>
)}
</div>
);
}
💡 조건에 따라 다른 메시지를 보여주는 대표적인 예입니다.
🧠 정리 - 오늘 배운 핵심 포인트
- ✔️ 배열 데이터를 JSX에서
map()
으로 렌더링 - ✔️ 각 항목에
key
속성 필수 - ✔️ 조건부 렌더링은
삼항 연산자
또는&&
사용 - ✔️ 다양한 상황에 따라 동적인 UI 구성 가능
📌 다음 편 예고
다음 6편에서는 useEffect 훅을 배우고, API 호출이나 타이머처럼
사이드 이펙트
를 다루는 법을 알아볼 거예요 🧪
🔥 리액트의 라이프사이클에 한 걸음 더 다가가는 시간, 기대해주세요!
💬 댓글이나 질문은 언제든지 환영입니다 🙌 좋아요와 구독으로 스터디에 함께해요!
반응형
'일상이 개발' 카테고리의 다른 글
React 폼 처리 완전정복|Controlled Component로 입력과 제출까지 완성하기 (0) | 2025.07.05 |
---|---|
React useEffect 완전정복|렌더링 후 실행, 상태 변화 감지, 클린업까지 한눈에 (2) | 2025.07.04 |
리액트 useState 완전정복|이벤트 처리부터 상태 기반 UI 만들기까지 (0) | 2025.07.02 |
리액트 컴포넌트 & JSX 완전 이해|React UI 기초 개념 정리와 실습 예제 (1) | 2025.07.01 |
React 개발 환경 세팅 완전 정복|CRA vs Vite 차이점과 설치 방법 (2025 최신) (1) | 2025.06.30 |