javascript - ReactJS 组件名称必须以大写字母开头吗?

标签 javascript reactjs

我正在 JSBin 上使用 ReactJS 框架.

我注意到,如果我的组件名称以小写字母开头,则它不起作用。

例如以下内容不会呈现:

var fml = React.createClass({
  render: function () {
    return <a href='google.com'>Go</a>
  }
});

React.render(<fml />, document.body);

但是当我用 Fml 替换 fml 时,它就会渲染。

我无法以小写字母开头标签有什么原因吗?

最佳答案

在 JSX 中,小写标签名称被视为 HTML 标签。但是,带有点(属性访问器)的小写标签名称则不然。

参见HTML tags vs React Components .

  • <component />编译为React.createElement('component') (html标签)
  • <Component />编译为React.createElement(Component)
  • <obj.component />编译为React.createElement(obj.component)

关于javascript - ReactJS 组件名称必须以大写字母开头吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30373343/

相关文章:

css - Electron 编译如何使用 scss 或至少 css 与 react ?

javascript - 导出时 React.Component 是默认扩展吗?

javascript - 关系/节点图/图形...使用 Javascript 或其他?

javascript - 在 render() 中修改 this.state 是否合理?

javascript - 随内容扩展的背景图片

javascript - jquery中获取文本输入val始终为空

node.js - 如何在 Node 后端使用浏览器库

javascript - .map 中的条件 if 语句

javascript - Handsontable 对于我的 JSON 返回空白。我如何解决它?

javascript - Reflect.getOwnMetadata 不是带有 karma-typescript 的函数