वास्तव में उस तरह नहीं है, लेकिन वहाँ कामकाज से जुड़े हैं। React's docs में सशर्त प्रतिपादन के बारे में एक अनुभाग है जिसे आपको देखना चाहिए। यहां एक उदाहरण दिया गया है कि यदि आप इनलाइन का उपयोग कर क्या कर सकते हैं।
render() {
const isLoggedIn = this.state.isLoggedIn;
return (
<div>
{isLoggedIn ? (
<LogoutButton onClick={this.handleLogoutClick} />
) : (
<LoginButton onClick={this.handleLoginClick} />
)}
</div>
);
}
आप इसे रेंडर फ़ंक्शन के अंदर भी सौदा कर सकते हैं, लेकिन जेएसएक्स लौटने से पहले।
if (isLoggedIn) {
button = <LogoutButton onClick={this.handleLogoutClick} />;
} else {
button = <LoginButton onClick={this.handleLoginClick} />;
}
return (
<div>
<Greeting isLoggedIn={isLoggedIn} />
{button}
</div>
);
यह भी उल्लेखनीय है कि ज़ेकेड्रॉइड ने टिप्पणियों में क्या लाया। यदि आप केवल एक शर्त की जांच कर रहे हैं और कोड का एक विशेष टुकड़ा प्रस्तुत नहीं करना चाहते हैं जो अनुपालन नहीं करता है, तो आप && operator
का उपयोग कर सकते हैं।
return (
<div>
<h1>Hello!</h1>
{unreadMessages.length > 0 &&
<h2>
You have {unreadMessages.length} unread messages.
</h2>
}
</div>
);
स्रोत
2016-11-08 01:01:09
क्या आपको कोई त्रुटि मिलती है? –
हाँ यह एक बहुत ही आम मुद्दा है और एक महान सवाल है! हो सकता है कि यह थोड़ा अलग हो और दिखाए कि आप क्या होता है यह विशेष कोड चलाता है (इसे थोड़ा स्वरूपित करने पर भी विचार करें) वास्तव में इस मुद्दे को साफ़ करने में मदद करेगा। – ZekeDroid
हां, यह गलत है (आदर्श एक)। मैंने इस मुद्दे को दूर करने के लिए अभी सवाल को अद्यतन किया है। धन्यवाद – Xin