这是一个简单计数器的代码。
然而,当我渲染视图时,我没有得到任何输出。请告诉我代码有什么问题。
按下按钮,计数器递增并显示在屏幕上。
var Title = React.createClass({
getInitialState : function(){
return {count:0};
},
increment : function(){
this.setState({count:this.state.count+this.props.incVal});
},
render: function() {
return (
<div>
<h1 >Count : {this.state.count}< /h1>
<button onClick={this.increment} >Increment</button>
</div>
);
}
});
var MultiButton = React.createClass({
render : function (){
return(
<Title incVal={1}/>
<Title incVal={5}/>
);
}
});
ReactDOM.render( <MultiButton /> ,
document.getElementById('example')
);
答案 0 :(得分:1)
<div>
Here is a list:
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
</div>
React组件不能返回多个React元素,只能返回一个 JSX表达式可以有多个子节点,因此如果需要组件 要渲染多个东西,你可以将它包装在这样的div中。
从
改变var MultiButton = React.createClass(
{
render: function () {
return (
<Title incVal={1}/>
<Title incVal={5}/>
);
}
}
);
到
var MultiButton = React.createClass(
{
render: function () {
return (
<div>
<Title incVal={1}/>
<Title incVal={5}/>
</div>
);
}
}
);
答案 1 :(得分:0)
您不能从React类返回多个元素。如果你有多个元素将它们包装在一个div中,比如
var MultiButton = React.createClass({
render : function (){
return(
<div>
<Title incVal={1}/>
<Title incVal={5}/>
</div>
);
}
});
答案 2 :(得分:0)
var Title = React.createClass({
getInitialState : function(){
return {count:0};
},
increment : function(){
this.setState({count:this.state.count+this.props.incVal});
},
render: function() {
return (
<div>
<h1 >Count : {this.state.count}< /h1>
<button onClick={this.increment.bind(this)} >Increment</button>
</div>
);
}
});
var MultiButton = React.createClass({
render : function (){
return(
<Title incVal={1}/>
);
}
});
ReactDOM.render( <MultiButton /> ,
document.getElementById('example')
);