警告:未知的DOM属性类。 你的意思是className?

我刚刚开始探索React,通过添加一个具有简单渲染function的组件:

render() { return <div class="myApp"></div> } 

当我运行该应用程序时,出现以下错误:

 Warning: Unknown DOM property class. Did you mean className? 

我可以通过将class更改为className来解决此问题。

问题是; React是否执行这个约定? 另外为什么我需要使用className而不是传统的class ? 如果这是一个限制,那么是由于JSX语法或其他地方?

是的,它是一个反应约定:

由于JSX是JavaScript,所以不鼓励使用class和标识符等标识符作为XML属性名称。 相反,React DOM组件期望分别像classNamehtmlFor那样的DOM属性名称。

https://facebook.github.io/react/docs/jsx-in-depth.html#html-tags-vs.-react-components

Meteor使用babel将ES5转换成ES6(ES2015),所以我们可以将它作为一个正常的Node应用程序加上babel转译器来处理。

您需要将.babelrc文件添加到项目的根文件夹,然后添加以下项目

 { "plugins": [ "react-html-attrs" ] } 

当然,你需要使用npm来安装这个插件:

npm install –save-dev babel-plugin-react-html-attrs