2016-07-12 6 views
15

मैं जेएसएक्स के अंदर बुलियन मूल्य प्रस्तुत करने की कोशिश कर रहा हूं, हालांकि प्रतिक्रिया इसे अभिव्यक्ति के रूप में मूल्यांकन कर रही है और घटक लौटने के बाद कुछ भी वापस नहीं कर रहा है।जेएसएक्स में बुलियन मूल्य प्रस्तुत नहीं कर सकता है?

इसके लिए कोई कामकाज?

यहाँ एक उदाहरण

var ipsumText = true; 

ReactDOM.render(
    <div> 
    Boolean Value: {ipsumText} 
    </div>, 
    document.getElementById('impl') 
); 

बस के रूप में

<div data-reactid=".0"><span data-reactid=".0.0">Boolean Value: </span></div> 

संपादित एचटीएमएल संकलित पता चलता है: यहाँ है, उदाहरण के लिए JSBin लिंक http://jsbin.com/nibihodoce/1/edit?html,js,output

संपादित करें 2: मैं पहले से ही .toString() विकल्प का पता लगाया है, हालांकि मैं इसे फिर से कर रहा हूं ऑब्जेक्ट्स की एक सरणी में डालना और उस ऑब्जेक्ट के किसी विशेष फ़ील्ड में स्ट्रिंग/पूर्णांक/बूलियन प्रकार का मूल्य हो सकता है। लागू करने के लिए .toString() सभी के लिए इष्टतम प्रतीत नहीं होता है।

+0

मेरे अपडेट किए गए उत्तर की जांच करें, मैंने वर्णन किया है कि वेरिएबल को बूलियन में कैसे परिवर्तित करें। – 1ven

+1

"सभी के लिए .toString() को लागू करना इष्टतम प्रतीत नहीं होता है" - तब '{स्ट्रिंग (मान)} 'का उपयोग करें। उससे कुछ भी इष्टतम और सार्वभौमिक नहीं है। – gaperton

उत्तर

29
Boolean Value: { ipsumText.toString() } 

युपीडी: या

Boolean Value: { String(ipsumText) } 

या

Boolean Value: { '' + ipsumText } 

या

{`Boolean Value: ${ipsumText}`} 

या

Boolean Value: { JSON.stringify(ipsumText) } 

मैं दूसरा विकल्प पसंद करते हैं। सार्वभौमिक, तेज़, सभी आदिम प्रकारों के लिए काम करता है: Boolean(smth), Number(smth)

1

आप, स्ट्रिंग के लिए बूलियन मान परिवर्तित कर सकते हैं रिक्त स्ट्रिंग के साथ श्रृंखलाबद्ध:

var ipsumText = true; 

ReactDOM.render(
    <div> 
    Boolean Value: {ipsumText + ''} 
    </div>, 
    document.getElementById('impl') 
); 

या आप यह कर सकते हैं, जब चर को bool मान निर्दिष्ट:

var ipsumText = true + ''; 

ReactDOM.render(
    <div> 
    Boolean Value: {ipsumText} 
    </div>, 
    document.getElementById('impl') 
); 

अपने चर हो सकते हैं नहीं बूलियन मान, आप बूलियन को परिवर्तित करना चाहिए:

// `ipsumText` variable is `true` now. 
var ipsumText = !!'text'; 
+0

यदि मूल्य बुलियन नहीं है, तो मैं इसे जैसा दिखाना चाहता हूं। –

+0

इस मामले में, इस स्थिति का उपयोग करें: 'var ipsumText = typeof value === 'बूलियन'? मान + '': मान; ' हम जांच कर रहे हैं कि परिवर्तनीय बूलियन है, जब हम इसे स्ट्रिंग में परिवर्तित कर रहे हैं, और इसे प्रदर्शित करते हैं। – 1ven

संबंधित मुद्दे