En React (marco de Facebook), necesito representar un elemento de etiqueta vinculado a una entrada de texto usando el foratributo estándar .
por ejemplo, se utiliza el siguiente JSX:
<label for="test">Test</label>
<input type="text" id="test" />
Sin embargo, esto produce HTML que falta el foratributo requerido (y estándar) :
<label>Test</label>
<input type="text" id="test">
¿Qué estoy haciendo mal?

labelelemento (tal como lo devuelvedocument.createElement,document.getElementById, etc.) es posible acceder a suforpropiedad comolabel.htmlFor.Sí, para reaccionar
forse conviertehtmlForclassse convierteclassNameetc.
Vea la lista completa de cómo se cambian los atributos HTML aquí:
https://facebook.github.io/react/docs/dom-elements.html
fuente
Para React debe usar sus palabras clave por definición para definir atributos html.
se usa y
se utiliza, ya que reaccionar distingue entre mayúsculas y minúsculas, asegúrese de que debe seguir las letras pequeñas y mayúsculas según sea necesario.
fuente
ambos
foryclassson palabras reservadas en JavaScript, esta es la razón por la cual cuando se trata de atributos HTML en JSX necesita usar otra cosa, el equipo de React decidió usarhtmlForyclassNamerespectivamentefuente
fores una palabra reservada en JavaScript, los elementos React usanhtmlForen su lugar": reactjs.org/docs/dom-elements.html#htmlforsolo usando reaccionar
htmlForpara reemplazarfor!https://facebook.github.io/react/docs/dom-elements.html#htmlfor
https://github.com/facebook/react/issues/8483
https://github.com/facebook/react/issues/1819
fuente
Eso es htmlFor en JSX y class es className en JSX
fuente