💡아래 예시는 isLoggedIn prop에 따라서 다른 인사말을 렌더링
//UserGreeting / GuestGreeting 두개의 컴포넌트 생성
function UserGreeting(props) {
return <h1>Welcome back!</h1>;
}
function GuestGreeting(props) {
return <h1>Please sign up.</h1>;
}
//로그인 상태에 맞게 위 컴포넌트 중 하나를 보여줌
function Greeting(props) {
const isLoggedIn = props.isLoggedIn;
if (isLoggedIn) {
return <UserGreeting />;
}
return <GuestGreeting />;
}
const root = ReactDOM.createRoot(document.getElementById('root'));
// Try changing to isLoggedIn={true}:
root.render(<Greeting isLoggedIn={false} />);
조건문을 코드 안에 집어넣는것
인라인 if
: if문을 필요한 곳에 직접 집어넣어서 사용하는 방법
: 논리 연산자 &&를 사용(AND 연산)
: 앞에 나오는 조건문이 true일 경우에만 뒤에 나오는 엘리먼트를 렌더링
function Mailbox(props) {
const unreadMessages = props.unreadMessages;
return (
<div>
<h1>Hello!</h1>
{unreadMessages.length > 0 &&
<h2>
You have {unreadMessages.length} unread messages.
</h2>
}
</div>
);
}
const messages = ['React', 'Re: React', 'Re:Re: React'];
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Mailbox unreadMessages={messages} />);
조건문 ? 참일 경우 : 거짓일 경우
render() {
const isLoggedIn = this.state.isLoggedIn;
return (
<div>
The user is <b>{isLoggedIn ? 'currently' : 'not'}</b> logged in.
</div>
);
}
render() {
const isLoggedIn = this.state.isLoggedIn;
return (
<div>
{isLoggedIn
? <LogoutButton onClick={this.handleLogoutClick} />
: <LoginButton onClick={this.handleLoginClick} />
}
</div>
);
}