JSX 안에 && 의 연산자를 통해 mailbox의 읽지 않은 메시지의 길이가 0을 초과할때만 화면에 표시하도록 가능하다.c
function Mailbox(props) {
const unreadMessages = props.unreadMessages;
return (
<div>
<h1>Hello!</h1>
{unreadMessages.length > 0 &&
<h2>
You have {unreadMessages.length} unread messages.
</h2>
}
</div>
);
}
참고로 javascript에서는 true && expression은 항상 expression으로 평가되고 false && expression은 항상 false로 평가 위에서 unreadMesages.length가 true라면 뒤의 조건을 출력하고, false라면 React에서는 무시한다.
조건부연산자인 condition ? true: false를 사용도 가능
render() {
const isLoggedIn = this.state.isLoggedIn;
return (
<div>
The user is <b>{isLoggedIn ? 'currently' : 'not'}</b> logged in.
</div>
);
}
아래도 가능! element를 조건부 연산자에서도 사용이 가능
render() {
const isLoggedIn = this.state.isLoggedIn;
return (
<div>
{isLoggedIn ? (
<LogoutButton onClick={this.handleLogoutClick} />
) : (
<LoginButton onClick={this.handleLoginClick} />
)}
</div>
);
}
'Web 개발 > React' 카테고리의 다른 글
[React] key를 사용해야 하는 이유! 리스트 element (0) | 2020.02.02 |
---|---|
[React] Javascript Map 사용하는 방법 (List) (0) | 2020.02.02 |
[React] 조건부 렌더링 (로그인/게스트 or login/logout 버튼) (0) | 2020.02.01 |
[React] 이벤트 핸들러에 인자 전달 (0) | 2020.02.01 |
[React] Button 이벤트 핸들러 넣는 방법 (0) | 2020.02.01 |