为什么反应中的组件需要大写?

时间:2015-10-21 12:17:34

标签: javascript reactjs

因此,当您声明一个组件以小写的第一个字母作为响应时,它不会显示,而不会抛出错误。大写组件名称时,它确实有效。

这是什么实施的?为了避免与现有的html元素发生冲突,或者这是一个错误吗?

var test = React.createClass({
  render: function() {
    return (
      <div>Test</div>
    );
  }
});

var Screen = React.createClass({
  render: function() {
    return (
      <div>
        <test/>
      </div>
    );
  }
});

当我将test更改为Test时,它可以正常运行:

var Test = React.createClass({
  render: function() {
    return (
      <div>Test</div>
    );
  }
});

var Screen = React.createClass({
  render: function() {
    return (
      <div>
        <Test/>
      </div>
    );
  }
});

2 个答案:

答案 0 :(得分:14)

来自some react release notes

  

JSX标记名称约定(小写名称引用内置组件,大写名称引用自定义组件)。

答案 1 :(得分:0)

React实际上只是区分大小写。

这里有一个相关的github问题,有人问同样的问题。 https://github.com/reactjs/React.NET/issues/76

相关问题