In React (Facebooks Framework) muss ich ein Beschriftungselement rendern, das mit dem Standardattribut an eine Texteingabe gebunden ist for
.
zB wird folgendes JSX verwendet:
<label for="test">Test</label>
<input type="text" id="test" />
Dies führt jedoch dazu, dass HTML das erforderliche (und Standard-) for
Attribut fehlt :
<label>Test</label>
<input type="text" id="test">
Was mache ich falsch?
label
Element (als zurück durchdocument.createElement
,document.getElementById
etc) Sie ihren Zugang würdefor
Eigenschaft alslabel.htmlFor
.Ja, um zu reagieren,
for
wirdhtmlFor
class
wirdclassName
etc.
Die vollständige Liste der Änderungen von HTML-Attributen finden Sie hier:
https://facebook.github.io/react/docs/dom-elements.html
quelle
Für React müssen Sie die per-define-Schlüsselwörter verwenden, um HTML-Attribute zu definieren.
verwendet wird und
wird verwendet, da bei der Reaktion zwischen Groß- und Kleinschreibung unterschieden wird. Stellen Sie sicher, dass Sie nach Bedarf klein und groß sind.
quelle
beide
for
undclass
sind reservierte Worte in JavaScript ist der Grund , warum , wenn es um HTML - Attribute in JSX kommt man zu verwenden braucht etwas anderes, React Team entschiedenhtmlFor
undclassName
jeweilsquelle
for
es sich bei JavaScript um ein reserviertes Wort handelt, werdenhtmlFor
stattdessen React-Elemente verwendet .": Reactjs.org/docs/dom-elements.html#htmlfornur mit reagieren
htmlFor
zu ersetzenfor
!https://facebook.github.io/react/docs/dom-elements.html#htmlfor
https://github.com/facebook/react/issues/8483
https://github.com/facebook/react/issues/1819
quelle
Das ist htmlFor in JSX und class ist className in JSX
quelle