我的代码存在很大问题,因为我没有得到映射对象的错误。我仍然收到消息'object.mapobjecttoarray不是函数''
var AppNo = React.createClass({
render: function() {
var dataNodes = Object.mapObjectToArray(this.props.data, function(no, id) {
return (
<div key={id}>{no.name}</div>
)
});
return (
<div>
{dataNodes}
</div>
);
}
});
var App = React.createClass({
getInitialState: function() {
return {
data: {
no: {
name: 'text 1'
},
non: {
name: 'text 2'
}
}
}
},
render: function() {
return (
<div className="container-fluid">
<AppNo data={this.state.data} />
</div>
);
}
});
ReactDOM.render (<App />,document.getElementById('app'));
有人能告诉我什么错吗?
答案 0 :(得分:0)
您试图迭代object
而非array
而objects
没有map
方法。在App
状态下创建数组,一切都应该没问题。
data: [
{
id: '1',
name: 'text 1'
},
{
id: '2',
name: 'text 2'
}
]
使用您的示例 - http://codepen.io/t1m0n/pen/EKpeve?editors=0010#
检查此笔var AppNo = React.createClass({
render: function() {
var dataNodes = this.props.data.map(function(item) {
return (
<div key={item.id}>{item.name}</div>
)
});
return (
<div>
{dataNodes}
</div>
);
}
});
var App = React.createClass({
getInitialState: function() {
return {
data: [
{
id: '1',
name: 'text 1'
},
{
id: '2',
name: 'text 2'
}
]
}
},
render: function() {
return (
<div className="container-fluid">
<AppNo data={this.state.data} />
</div>
);
}
});
ReactDOM.render(<App />,document.getElementById('app'));