En Reaccionar (Facebook del marco), necesito representar una etiqueta de elemento enlazado a una entrada de texto usando el estándar de for atributo.

por ejemplo, los siguientes JSX se utiliza:

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

Sin embargo, esto produce HTML falta de la necesaria (y estándar) for atributo:

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

¿Qué estoy haciendo mal?

5 Comentarios

  1. 359

    La for atributo se llama htmlFor para mantener la coherencia con el DOM de la propiedad de la API. Si usted está utilizando la versión en desarrollo de Reaccionar, usted debe haber visto un mensaje de advertencia en la consola acerca de esto.

    • Gracias Ben. Podría usted explicar «por coherencia con el API DOM» para mí?
    • Si usted tiene un label elemento (como el que devuelve document.createElement, document.getElementById, etc) te gustaría tener acceso a sus for propiedad como label.htmlFor.
    • Ah – tiene sentido.
    • En Reaccionar, ¿hay alguna manera de asociar una etiqueta a una entrada sin identificación? Si yo uso la IDENTIFICACIÓN y re-uso de un componente, se termina por la página tiene varias entradas con el mismo id.
    • En HTML se necesita un ID para el atributo for a trabajar. Para hacer su componente reutilizable, se puede añadir un nombre de propiedad para el componente que se establece como ID y como nombre de atributo en el real campo de entrada.
    • ¿qué pasa si no tengo un nombre único de la propiedad? Lo que es una manera segura para generar Identificadores únicos? Tal vez una variable de clase que se incrementa cada vez que se usa? No acabo de preguntar a Reaccionar para el ID de la componente de corriente? Seguramente tiene uno.
    • No importa, he encontrado la respuesta aquí. Dicen que el uso de un ID de generador.
    • Gracias por arrojar luz sobre eso. Yo nunca he usado a mirar el API DOM porque de jQuery y esas cosas (por favor, perdóname). Pero en caso de que alguien más está interesado en aprender más acerca de eso, echa un vistazo developer.mozilla.org/en-US/docs/Web/API/HTMLLabelElement.
    • a diferencia de lo que se ha declarado si htmlFor es la de reaccionar atributo en lugar de for no podría ser de consistencia de la materia, sino porque for es una palabra reservada en Javascript (y Reaccionar utiliza Javascript para procesar). Al menos esta es la razón por la [facebook.github.io/reaccionar/docs/… de la documentación)

  2. 9

    Para Reaccionar debe utilizar es por definir las palabras clave para definir los atributos de html.

    class -> className

    se utiliza y

    for -> htmlFor

    se utiliza, como reaccionar es sensible a mayúsculas y minúsculas asegúrese de que usted debe seguir a los pequeños y de capital según se requiera.

Dejar respuesta

Please enter your comment!
Please enter your name here