JSX 에서 조건부 렌더링을 위한 삼항 연산자 사용
이 단계에서는 JSX 내에서 인라인 if-else 로직을 위해 조건부 (삼항) 연산자 (? :) 를 사용하는 방법을 배우게 됩니다. 이는 렌더링할 두 가지 다른 UI 요소 중에서 선택하는 간결한 방법입니다.
먼저 프로젝트 디렉토리로 이동합니다. 모든 명령은 이 디렉토리에서 실행해야 합니다.
cd ~/project/my-app
다음으로 프로젝트 종속성을 설치해야 합니다.
npm install
이제 메인 애플리케이션 컴포넌트를 수정해 보겠습니다. 왼쪽에 있는 파일 탐색기에서 src/App.jsx 파일을 엽니다. 사용자가 로그인했는지 여부에 따라 다른 메시지를 표시하는 Greeting 컴포넌트를 만들 것입니다.
src/App.jsx의 전체 내용을 다음 코드로 바꾸세요.
function Greeting(props) {
const isLoggedIn = props.isLoggedIn;
return (
<div>{isLoggedIn ? <h1>Welcome back!</h1> : <h1>Please sign up.</h1>}</div>
);
}
function App() {
return (
<div>
{/* isLoggedIn 을 false 로 변경하여 다른 메시지를 확인해 보세요! */}
<Greeting isLoggedIn={true} />
</div>
);
}
export default App;
Greeting 컴포넌트에서 {isLoggedIn ? <h1>Welcome back!</h1> : <h1>Please sign up.</h1>} 표현식은 isLoggedIn prop 의 값을 확인합니다. true이면 "Welcome back!"을 렌더링합니다. 그렇지 않으면 "Please sign up."을 렌더링합니다.
이제 컴포넌트를 실행하여 확인하기 위해 개발 서버를 시작해 보겠습니다.
npm run dev -- --host 0.0.0.0 --port 8080
서버가 시작된 후 화면 상단의 Web 8080 탭을 엽니다. "Welcome back!" 메시지가 표시되어야 합니다. src/App.jsx에서 isLoggedIn={true}를 isLoggedIn={false}로 변경하고 파일을 저장한 다음 브라우저에서 내용이 자동으로 업데이트되는 것을 볼 수 있습니다.