一尘不染

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

javascript

我正在使用JSBin上的ReactJS框架。

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

例如,以下内容不呈现:

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

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

但是,一旦我替换为fmlFml它就会渲染。

我不能以小写字母开头的标签有原因吗?


阅读 632

收藏
2020-04-25

共1个答案

一尘不染

在JSX中,小写标签名称被认为是HTML标签。但是,带点号(属性访问器)的小写标记名称不是。

参见HTML标签与React组件。

  • <component />编译为React.createElement('component')(html标记)
  • <Component /> 编译为 React.createElement(Component)
  • <obj.component /> 编译为 React.createElement(obj.component)
2020-04-25