428 Stimmen

React ignoriert das 'for'-Attribut des Label-Elements

In React (Facebooks Framework), muss ich ein Label-Element rendern, das an ein Texteingabegebunden ist und das for-Attribut verwendet.

z.B. wird das folgende JSX verwendet:

Test

Jedoch erzeugt dies HTML, das das erforderliche (und standardmäßige) for-Attribut fehlt:

Test

Was mache ich falsch?

771voto

Sophie Alpert Punkte 133000

Das for-Attribut wird aus Gründen der Konsistenz mit der DOM-Property-API als htmlFor bezeichnet. Wenn Sie die Entwicklerversion von React verwenden, sollten Sie eine Warnung in Ihrer Konsole dazu gesehen haben.

80voto

Derrick Punkte 1388

Ja, für React,

for wird zu htmlFor

class wird zu className

usw.

Die vollständige Liste aller Änderungen an HTML-Attributen finden Sie hier:

https://facebook.github.io/react/docs/dom-elements.html

23voto

Jani Devang Punkte 974

Für React müssen Sie die vordefinierten Schlüsselwörter verwenden, um HTML-Attribute zu definieren.

class -> className

wird verwendet und

for -> htmlFor

wird verwendet, da React auf die Groß- und Kleinschreibung achtet. Stellen Sie sicher, dass Sie klein und groß schreiben wie erforderlich.

15voto

xgqfrms Punkte 7010

Nur React htmlFor verwenden, um for zu ersetzen!

Da for ein reserviertes Schlüsselwort in JavaScript ist, verwenden React-Elemente stattdessen htmlFor.

Refs

Sie können weitere Informationen finden, indem Sie den untenstehenden Links folgen.

https://facebook.github.io/react/docs/dom-elements.html#htmlfor

https://github.com/facebook/react/issues/8483

https://github.com/facebook/react/issues/1819

11voto

Trident D'Gao Punkte 17318

Beide for und class sind reservierte Wörter in JavaScript, deshalb müssen Sie für HTML-Attribute in JSX etwas anderes verwenden. Das React-Team hat sich entschieden, htmlFor bzw. className dafür zu verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X