2014-07-15 16 views
11

के बिना तत्वों पर डेटा- विशेषताएँ सेट करें- प्रतिक्रियाओं पर डेटा- * और aria- * गुणों का समर्थन करता है। घटक एपीआई का उपयोग करते समय, मुझे लगता है कि इन विशेषताओं को बाकी की तरह सेट किया जा सकता है:ReactJs: जेएसएक्स

React.DOM.div({style: {...}, dataMyFoo: 'bar'}, ...) 

नहीं। यह काम नहीं करता है। dataMyFoo विशेषता चुपचाप अनदेखा किया जाता है। मैंने कहीं पढ़ा है कि इन सभी लोअरकेस होने की जरूरत है। कैसे:

React.DOM.div({style: {...}, datamyfoo: 'bar'}, ...) 

फिर से, चुपचाप अनदेखा किया गया।

क्या यह संभव है? यदि हां, तो रहस्य क्या है? मैंने जवाब खोजने के बिना थोड़ी देर बिताई।

React.DOM.div({style: {...}, 'data-my-foo': 'bar'}, ...) 

ध्यान दें कि आप इस मामले में विशेषता नाम बोली चाहिए, के बाद से हाइफ़न हैं:

उत्तर

21

जवाब है, यह पता चला है, इसलिए की तरह, डेटा विशेषता के लिए हाइफन से अलग की गई सभी लोअरकेस नाम का उपयोग करने के लिए है जावास्क्रिप्ट में पहचानकर्ताओं में अनुमति नहीं है।

+1

हां, यह सही है। हम भविष्य में 'डेटासेट: {myFoo:' bar '}' मॉडल पर जाने पर विचार कर रहे हैं, जो 'डेटा-my-foo = "bar" को डीओएम में रखेगा। डेटा गुणों तक पहुंचने के लिए यह डीओएम एपीआई को बारीकी से पालन करता है। –

+1

@ PaulO'Shannessy जो सही लगता है। शुरू में मैंने जो चीजों की कोशिश की उनमें से एक था 'डेटा: {myFoo:' bar '}' इसलिए यह बारीकी से चलता है कि मैं स्वाभाविक रूप से क्या करना चाहता था। – DavidM

+0

डेटा- * विशेषताओं के बारे में क्या कोई मूल्य नहीं है? क्या आपको बस '{' data-foo-bar 'करना चाहिए: true} '? या कुछ और? –