बिल्कुल वैसा नहीं, बल्कि वर्कअराउंड हैं। कंडीशनल रेंडरिंग के बारे में रिएक्ट के डॉक्स में एक सेक्शन है जिसे आपको देखना चाहिए। यहाँ एक उदाहरण है कि क्या आप इनलाइन का उपयोग कर सकते हैं अगर-और।
render() {
const isLoggedIn = this.state.isLoggedIn;
return (
<div>
{isLoggedIn ? (
<LogoutButton onClick={this.handleLogoutClick} />
) : (
<LoginButton onClick={this.handleLoginClick} />
)}
</div>
);
}
आप रेंडर फ़ंक्शन के अंदर भी इससे निपट सकते हैं, लेकिन 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>
);