我创建了一个简单的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>
任何人都可以指出可能出错的地方。
答案 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
});