Я только начал изучать React, добавив компонент с простой функцией рендеринга:
render() {
return <div class="myApp"></div>
}
Когда я запускаю приложение, я получаю следующую ошибку:
Warning: Unknown DOM property class. Did you mean className?
Я могу решить эту проблему, изменив class
на className
.
Вопрос в том; обеспечивает ли React соблюдение этого соглашения? Также зачем мне использовать className
вместо обычного class
? Если это ограничение, то это связано с синтаксисом JSX или чем-то еще?
javascript
reactjs
react-jsx
jsalonen
источник
источник
Meteor использует babel для преобразования ES5 в ES6 (ES2015), поэтому мы можем работать с ним как с обычным Node-приложением с добавленным транспилятором babel.
Вам нужно добавить
.babelrc
файл в корневую папку вашего проекта и добавить следующие элементыИ, конечно же, вам необходимо установить этот плагин, используя
npm
:источник
В React.js нет доступных свойств for и class, поэтому нам нужно использовать
источник
Вы не можете использовать класс для любого атрибута тега HTML, потому что JS имеет другое значение класса. Вот почему вам нужно использовать className вместо class.
А также используйте атрибут htmlFor вместо for.
источник
В HTML мы используем
но в React и ReactNative нет HTML, мы используем JSX (Javascript XML), здесь мы используем
источник
Синтаксис JSX при компиляции с использованием babel, базовый синтаксис, который он будет использовать для создания элемента HTML, будет
Если мы используем класс вместо className, реакция будет выводить его как класс javascript вместо атрибута класса html. [Причина, по которой имя переменной 'class' уже используется в файле для создания класса javascript и зарезервировано для той же цели]. Это неверно, и компилятор выдает ошибку, поскольку класс javascript не является допустимым свойством для элементов html DOM.
Следовательно, необходимо использовать className вместо class.
источник