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

IT技术 javascript reactjs
2021-04-17 07:09:16

所以,当你声明一个组件以小写的第一个字母作为react时,它不会出现,不会抛出错误。当您将组件名称大写时,它确实有效。

它是这样实现的?为了避免与现有的 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个回答

来自一些react发行说明

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

可能是因为它遵循其他 OOP 类命名约定,如 Java
2021-05-28 07:09:16
我认为打破约定是可能的。如果违反约定破坏了代码,那不仅仅是约定。
2021-06-16 07:09:16

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

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

DOM 不区分大小写(在 HTML 模式下)。
2021-06-04 07:09:16
那个 github 问题是在谈论 DOM 节点的属性,而不是元素名称。
2021-06-05 07:09:16