React negeert ‘for’ attribuut van het label element

In React (Facebook’s framework) moet ik een label-element koppelen aan een tekstinvoer met behulp van het standaard attribuut for.

bijv. de volgende JSX wordt gebruikt:

<label for="test">Test</label>
<input type="text" id="test" />

Dit zorgt er echter voor dat HTML het vereiste (en standaard) kenmerk formist:

<label>Test</label>
<input type="text" id="test">

Wat doe ik verkeerd?


Antwoord 1, autoriteit 100%

Het kenmerk forwordt htmlForgenoemd voor consistentie met de DOM-eigenschap-API. Als je de ontwikkelversie van React gebruikt, zou je hierover een waarschuwing in je console moeten hebben gezien.


Antwoord 2, autoriteit 8%

Ja, voor reageren,

forwordt htmlFor

classwordt className

enz.

bekijk hier de volledige lijst van hoe HTML-kenmerken worden gewijzigd:

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


Antwoord 3, autoriteit 3%

Voor React moet je de per-definiërende trefwoorden gebruiken om html-attributen te definiëren.

class-> className

wordt gebruikt en

for-> htmlFor

wordt gebruikt, aangezien reageren hoofdlettergevoelig is, zorg ervoor dat u klein en hoofdletter gebruikt zoals vereist.


Antwoord 4

zowel forals classzijn gereserveerde woorden in JavaScript. Dit is de reden waarom als het gaat om HTML-attributen in JSX, je iets anders moet gebruiken, het React-team besloot om htmlForen classNamerespectievelijk


Antwoord 5

gebruik gewoon react htmlForom forte vervangen!

u kunt meer informatie vinden door de onderstaande links te volgen.

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

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

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


Antwoord 6

Dat is htmlFor in JSX en class is className in JSX

Other episodes