Acabo de comenzar a explorar React, agregando un componente con una función de renderizado simple:
render() {
return <div class="myApp"></div>
}
Cuando ejecuto la aplicación, aparece el siguiente error:
Warning: Unknown DOM property class. Did you mean className?
Puedo resolver esto cambiando class
a className
.
La pregunta es; React hace cumplir esta convención? Además, ¿por qué necesito usar en className
lugar del convencional class
? Si esto es una restricción, ¿se debe a la sintaxis JSX o a algún otro lugar?
javascript
reactjs
react-jsx
jsalonen
fuente
fuente
Meteor usa babel para transpilar ES5 a ES6 (ES2015), por lo que podemos tratarlo como una aplicación de nodo normal con el transpiler de babel agregado.
Debe agregar un
.babelrc
archivo a la carpeta raíz de su proyecto y agregar los siguientes elementosY, por supuesto, debe instalar este complemento usando
npm
:fuente
En React.js no hay propiedades de clase y for disponibles, por lo que debemos usar
fuente
No puede usar class para ningún atributo de etiqueta HTML porque JS tiene otro significado de clase. Por eso tienes que usar className en lugar de class.
Y también use el atributo htmlFor en lugar de for.
fuente
En HTML usamos
pero en React y ReactNative no hay HTML, usamos JSX (Javascript XML) aquí usamos
fuente
La sintaxis JSX cuando se compila usando babel, la sintaxis subyacente que usará para crear el elemento HTML será
Si usamos la clase en lugar de className, la reacción la inferirá como clase javascript en lugar del atributo de clase html. [Razón por la que el nombre de la variable 'clase' ya se usa en el archivo para crear una clase javascript y está reservado para el mismo propósito]. Lo cual es incorrecto y el compilador arroja el error, ya que la clase javascript no es una propiedad válida para los elementos DOM de html.
Por tanto, es necesario utilizar className en lugar de class.
fuente