본문 바로가기
React

조건부 렌더링

by ESTP 개발자 2025. 2. 10.

🌟 조건부 렌더링(Conditional Rendering)

React에서는 조건에 따라 특정 UI를 렌더링하거나 숨길 수 있어.

웹 개발에서 사용자 경험을 개선하기 위해 자주 사용하는 패턴이지.

 

🔧 조건부 렌더링을 구현하는 방법들

1️⃣ if 문 사용

function WelcomeMessage({ isLoggedIn }) { 
	if (isLoggedIn) { 
    	return <h1>환영합니다!</h1>; 
    } 
    return <h1>로그인해주세요!</h1>; 
  }
 

💡 설명:

  • isLoggedIn 값에 따라 다른 메시지를 보여줌.
  • 컴포넌트 내에서 명확한 조건 처리가 가능함.

 

2️⃣ 삼항 연산자 사용 (? :)

function WelcomeMessage({ isLoggedIn }) { 
	return ( <h1>{isLoggedIn ? "환영합니다!" : "로그인해주세요!"}</h1> ); 
}

💡 설명:

  • isLoggedIn이 참이면 "환영합니다!"를, 거짓이면 "로그인해주세요!"를 보여줌.
  • 짧은 코드로 조건부 렌더링 가능.

 

3️⃣ 논리 연산자 (&&)

function Notification({ hasNewMessage }) { 
	return ( <div> {hasNewMessage && <p>새로운 메시지가 있습니다!</p>} </div> ); 
}

💡 설명:

  • hasNewMessage가 참일 때만 <p> 태그가 렌더링됨.
  • 거짓이면 아무것도 렌더링하지 않음.

 

4️⃣ 즉시 리턴 패턴

리턴 조건을 빠르게 끝내고, 남은 렌더링 부분을 명확하게 구성하는 패턴이야.

function WelcomeMessage({ isLoggedIn }) {
  if (!isLoggedIn) return <h1>로그인해주세요!</h1>;
  return <h1>환영합니다!</h1>;
}
 

💡 설명:

  • 조건이 맞지 않으면 즉시 리턴하여 복잡성을 줄임.

 

 

📝 조건부 렌더링 연습문제

조건부 렌더링을 사용해서 다음 요구사항을 구현해봐:

  • 사용자가 입력 필드에 이름을 입력하면 "환영합니다, [이름]" 메시지를 보여줘.
  • 입력 필드가 비어있으면 "이름을 입력해주세요!" 메시지가 보여야 해.
  • if 문, 삼항 연산자, && 중 원하는 방식으로 문제를 풀어봐.

'React' 카테고리의 다른 글

React 이벤트 핸들링 - 연습문제  (0) 2025.02.09
React 이벤트 핸들링  (0) 2025.02.09
React의 핵심 개념 JSX, Props, State  (1) 2025.02.09
챗지피티가 알려준 React 공부 커리큘럼  (0) 2025.02.09
React 개발 환경 구성  (0) 2025.02.09