简单的React组件无法呈现

时间:2015-04-24 14:33:58

标签: 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>
      );
    }
});

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

<map data-reactid=".0.0"></map>

任何人都可以指出可能出错的地方。

2 个答案:

答案 0 :(得分:70)

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

string[n] == "a"编译为<map />React.createElement("map", {});编译为<Map />

只需将React.createElement(Map, {});重命名为map即可。

答案 1 :(得分:1)

请确保您声明用于创建组件的变量以大写开头:-Just like this

var Map = React.createClass({
 //Your Code here

});