Acabei de começar a explorar o React, adicionando um componente com uma função de renderização simples:
render() {
return <div class="myApp"></div>
}
Quando executo o aplicativo, recebo o seguinte erro:
Warning: Unknown DOM property class. Did you mean className?
Posso resolver isso mudando class
para className
.
A questão é; O React cumpre esta convenção? Além disso, por que preciso usar em className
vez do convencional class
? Se for uma restrição, é devido à sintaxe JSX ou a algum outro lugar?
javascript
reactjs
react-jsx
jsalonen
fonte
fonte
O Meteor usa o babel para transpilar ES5 para ES6 (ES2015), então podemos lidar com isso como um aplicativo Node normal com o transpilador babel adicionado.
Você precisa adicionar o
.babelrc
arquivo à pasta raiz do seu projeto e adicionar os seguintes itensE, claro, você precisa instalar este plug-in usando
npm
:fonte
Em React.js não há propriedades para e classes disponíveis, então precisamos usar
fonte
Você não pode usar classe para qualquer atributo de tag HTML porque JS tem outro significado de classe. É por isso que você deve usar className em vez de class.
E também use o atributo htmlFor em vez de for.
fonte
Em HTML usamos
mas em React e ReactNative não há HTML, usamos JSX (Javascript XML) aqui usamos
fonte
A sintaxe JSX quando compilada usando babel, a sintaxe subjacente que será usada para criar o elemento HTML será
Se usarmos a classe em vez de className, o react irá inferir como classe javascript em vez de atributo de classe html. [Motivo pelo qual o nome da variável 'classe' já é usado no arquivo para criar uma classe javascript e está reservado para o mesmo propósito]. O que está errado e o compilador gera o erro, já que a classe javascript não é uma propriedade válida para elementos HTML DOM.
Portanto, é necessário usar className em vez de class.
fonte