class
es una palabra clave en javascript y JSX es una extensión de javascript. Esa es la razón principal por la que React usa en className
lugar de class
.
Nada ha cambiado en ese sentido.
Para expandir esto un poco más. Una palabra clave significa que un token tiene un significado especial en la sintaxis de un idioma. Por ejemplo en:
class MyClass extends React.Class {
Token class
denota que el siguiente token es un identificador y lo que sigue es una declaración de clase. Consulte Palabras clave de Javascript + Palabras reservadas .
El hecho de que un token sea una palabra clave significa que no podemos usarlo en algunas expresiones, p. Ej.
const props = {
class: 'css class'
}
const props = {
'class': 'css class'
};
var class = 'css';
var clazz = 'css';
props.class = 'css';
props['class'] = 'css';
Uno de los problemas es que nadie puede saber si no surgirá algún otro problema en el futuro. Todos los lenguajes de programación aún están evolucionando y class
se pueden usar en alguna sintaxis nueva en conflicto.
No existen tales problemas con className
.