简单的React组件无法呈现

iJa*_*ade 25 javascript reactjs

我创建了一个简单的React组件,它显示了另一个反应组件.但它不会在浏览器中呈现:

class Home extends React.Component {
  render() {
    return (
      <div>
        <map/>
      </div>   
    );
  }
}

var map = React.createClass({
   render: function() {
      return (
          <div id="map-canvas">
            <span>hello</span>
          </div>
      );
    }
});
Run Code Online (Sandbox Code Playgroud)

我期待它hello出现在屏幕上,但没有任何显示,当我检查元素时,我能看到的是

<map data-reactid=".0.0"></map>
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出我们可能出错的地方.

Ale*_*erg 73

JSX期望组件标签大写.否则,它将只使用提供的标记创建一个DOM元素.请参阅HTML标记与反应组件.

<map />编译为React.createElement("map", {});同时<Map />编译成React.createElement(Map, {});.

只需重命名mapMap,你是好.

  • 这种行为一点也不直观我期待<myComponent>和<MyComponent>做同样的事情,但我可以想象为什么会这样做.感谢你的帮助. (4认同)
  • 以及另一个错误`Uncaught TypeError:无法读取属性'toUpperCase'未定义的ReactDefaultInjection.js:53` (2认同)