/ / रेंडर में इनलाइन तर्क प्रतिक्रिया () - जावास्क्रिप्ट, सीएसएस, रिएक्टज

रेंडर () - जावास्क्रिप्ट, सीएसएस, प्रतिक्रियाओं में इनलाइन तर्क प्रतिक्रिया दें

मुझे आश्चर्य है कि रिएक्ट में इनलाइन टेम्प्लेट तर्क कैसे लागू होते हैं। मैं मामले में मतलब है जब मैं तत्व के परिवर्तन वर्ग की जरूरत है कि कैसे आसानी से?

class RegisterForm extends Component {
...
render() {
let email = this.state.email.error; //true or false
return (<div {email ? className="has-error" : className="regular"}></div>)
}

फिर मेरे पास एक त्रुटि है:

Syntax error: C:/project/components/signup/index.js: Unexpected token, expected ... (107:22)

वह कैसे करें? या यह केवल में लपेटने के लिए संभव है अगर / अन्यथा पूर्ण div ब्लॉक केवल?

उत्तर:

उत्तर № 1 के लिए 4

आप कुछ चीजें कर सकते हैं:

<div className={email ? "has-error" : "regular"}> </div>

या इसे साफ रखने के लिए

let email = this.state.email.error;
let divClass = email ? "has-error" : "regular";

return <div className={divClass}> </div>

जवाब के लिए 2 № 2

सशर्त रूप से विशेषता नहीं मान निर्दिष्ट करें। परिभाषित करें className ईमेल मूल्य के आधार पर उसके मूल्य को निर्दिष्ट और असाइन करें।

इसे इस तरह लिखें:

<div className = { email ? "has-error" : "regular"}> </div>