정확히는 아니지만 해결 방법이 있습니다. 리 액트 문서 에 조건부 렌더링에 대한 섹션 이 있습니다. 다음은 인라인 if-else를 사용하여 수행 할 수있는 작업의 예입니다.
render() {
const isLoggedIn = this.state.isLoggedIn;
return (
<div>
{isLoggedIn ? (
<LogoutButton onClick={this.handleLogoutClick} />
) : (
<LoginButton onClick={this.handleLoginClick} />
)}
</div>
);
}
render 함수 내에서 처리 할 수도 있지만 jsx를 반환하기 전에.
if (isLoggedIn) {
button = <LogoutButton onClick={this.handleLogoutClick} />;
} else {
button = <LoginButton onClick={this.handleLoginClick} />;
}
return (
<div>
<Greeting isLoggedIn={isLoggedIn} />
{button}
</div>
);
ZekeDroid가 의견에서 가져온 것을 언급하는 것도 가치가 있습니다. 조건 만 확인하고 준수하지 않는 특정 코드를 렌더링하지 않으려면 && operator
.
return (
<div>
<h1>Hello!</h1>
{unreadMessages.length > 0 &&
<h2>
You have {unreadMessages.length} unread messages.
</h2>
}
</div>
);