Tidak persis seperti itu, tetapi ada beberapa solusi. Ada bagian di dokumen React tentang rendering bersyarat yang harus Anda lihat. Berikut adalah contoh dari apa yang dapat Anda lakukan menggunakan inline if-else.
render() {
const isLoggedIn = this.state.isLoggedIn;
return (
<div>
{isLoggedIn ? (
<LogoutButton onClick={this.handleLogoutClick} />
) : (
<LoginButton onClick={this.handleLoginClick} />
)}
</div>
);
}
Anda juga bisa menanganinya di dalam fungsi render, tetapi sebelum mengembalikan jsx.
if (isLoggedIn) {
button = <LogoutButton onClick={this.handleLogoutClick} />;
} else {
button = <LoginButton onClick={this.handleLoginClick} />;
}
return (
<div>
<Greeting isLoggedIn={isLoggedIn} />
{button}
</div>
);
Perlu juga disebutkan apa yang dikemukakan ZekeDroid di komentar. Jika Anda hanya memeriksa suatu kondisi dan tidak ingin merender bagian kode tertentu yang tidak sesuai, Anda dapat menggunakan && operator
.
return (
<div>
<h1>Hello!</h1>
{unreadMessages.length > 0 &&
<h2>
You have {unreadMessages.length} unread messages.
</h2>
}
</div>
);