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 for
mist:
<label>Test</label>
<input type="text" id="test">
Wat doe ik verkeerd?
Antwoord 1, autoriteit 100%
Het kenmerk for
wordt htmlFor
genoemd 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,
for
wordt htmlFor
class
wordt 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 for
als class
zijn 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 htmlFor
en className
respectievelijk
Antwoord 5
gebruik gewoon react htmlFor
om for
te 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