web-dev-qa-db-fra.com

React ignore l'attribut 'for' de l'élément label

Dans React (le cadre de Facebook), je dois restituer un élément d'étiquette lié à une entrée de texte en utilisant l'attribut standard for.

par exemple. le JSX suivant est utilisé:

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

Cependant, cela produit du HTML manquant pour l'attribut for requis (et standard):

<label data-reactid=".1.0.0">Test</label>
<input type="text" id="test" data-reactid=".1.0.1">

Qu'est-ce que je fais mal?

151
goofballLogic

L'attribut for est appelé htmlFor pour assurer la cohérence avec l'API de la propriété DOM. Si vous utilisez la version de développement de React, vous devriez avoir vu un avertissement à ce sujet dans votre console.

299
Sophie Alpert

Oui, pour réagir, 

for devient htmlFor class devient className etc. 

voir la liste complète des modifications apportées aux attributs HTML ici: 

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

8
Derrick

Pour React, vous devez utiliser ses mots clés par définition pour définir les attributs HTML. 

class -> className

est utilisé et 

for -> htmlFor

est utilisé, car réagit est sensible à la casse, assurez-vous de suivre les règles et les majuscules au besoin.

6
Jani Devang

en utilisant simplement réagir htmlFor pour remplacer for!

vous pouvez trouver plus d'informations en suivant les liens ci-dessous.

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

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

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

2
xgqfrms

C'est htmlFor dans JSX et class est className dans JSX

0
Daniel Nguyen