我是新手做出反应,我编写了下面的代码并获得了
ReactDOM.render Expected the last optional `callback` argument to be a function. `Instead received: Object`
这是我的代码
var Stats = React.createClass({
render: function () {
return (
<article className="col-md-4">
<article className="well">
<h3>{this.props.value}</h3>
<p>{this.props.label}</p>
</article>
</article>
)
}
});
ReactDOM.render(
<Stats value={"255.5K"} label={"People engaged"}/>,
<Stats value={"5K"} label={"Alerts"}/>,
<Stats value={"205K"} label={"Investment"}/>,
document.getElementById('stats')
);
我做错了什么?
答案 0 :(得分:5)
您正在提供ReactDom.render
四个参数 - 三个Stats
组件和元素。该函数在容器元素之前只需要一个元素。因此,您需要以某种方式将元素组合在一起,例如:
ReactDOM.render(
<div>
<Stats value={"255.5K"} label={"People engaged"}/>
<Stats value={"5K"} label={"Alerts"}/>
<Stats value={"205K"} label={"Investment"}/>
</div>,
document.getElementById('stats')
);
答案 1 :(得分:3)
您需要提供一个react元素作为第一个参数, mount节点作为第二个参数。所以你可以这样做。
const LotsOfStats = React.createClass({
render: function () {
return (
<div>
<Stats value={"255.5K"} label={"People engaged"}/>
<Stats value={"5K"} label={"Alerts"}/>
<Stats value={"205K"} label={"Investment"}/>
</div>
);
}
});
ReactDOM.render(
<LotsOfStats />,
document.getElementById('stats')
);