我是React.js的新手,并且通过子组件获得卡住循环。我有一个对象,我需要循环它,它应该使用该对象的值创建子组件。提前谢谢
var o = {
playerA: {
name: 'a',
},
playerB: {
name: 'b',
}
};
var Players = React.createClass({
getPlayers: function(){
return o;
},
render: function() {
return (
<div>
<div className="row"> Players</div>
{this.getPlayers()}
<Player />
</div>
);
}
});
var Player = React.createClass({
render: function(){
return (
<div className="row" > player {this.name} < /div>
)
}
});
React.render(<Players />, document.getElementById('container'));
结果应为:
玩家
玩家b
答案 0 :(得分:5)
首先,您将使用.map
迭代数据,以便您可以为每个项目返回标记(子组件)。在子组件标记中,您将在属性中传递该项的数据。
{Object.keys(yourObject).map(function(key) {
return (
<ChildComponent data={yourObject[key]}/>
);
})}
然后,子组件的标记可以通过绑定this.props.data
来使用该数据。
<div>Player: {this.props.data.name}</div>
您不必使用名称&#34;数据&#34;属性/属性。 info={yourObject[key]}
与this.prop.info
之类的内容同样有效。