我对这个问题感到疯狂。地图迭代不会迭代项目。它使{this.props.data.length}正确。我得到了' 1'在这种情况下。 控制台中没有错误或任何内容。 console.log打印对象,它包含所有数据。
var Component = React.createClass({
render: function(){
var data = this.props.data;
if(data == null) {
return (<p>...</p>)
}
if(data.information == null) {
data.information = {informations: []};
}
if(data.technicalData == null){
data.technicalData=[];
}
if(data.suppliers == null) {
data.suppliers = [];
} else {
console.log(data.suppliers);
}
return (
<div className="row">
<h1 className="page-header">{data.name}</h1>
<div className="col-md-3">
<Information info={data.information.informations}/>
</div>
<div className="col-md-3">
<TechInfo tech={data.technicalData}/>
</div>
<div className="col-md-3">
<Supplier data={data.suppliers}/>
</div>
</div>
);
}
});
var Supplier = React.createClass({
render: function() {
return (
<div className="row">
<h2>Supplier</h2>
Number of suppliers: {this.props.data.length}
{this.props.data.map(function(item, i){
<p>Supplier index: {i}</p>
})}
</div>
)
}
});
suppliers: [
{ name: "elfa",
attributes: [
{ key: "artnr",
value: "58-578-83"
},
{ key: "url",
value: "https://www.elfa.se"
}
]
}
答案 0 :(得分:1)
你没有从map
内部返回任何内容。添加return
声明:
{this.props.data.map(function(item, i){
return <p>Supplier index: {i}</p>;
})}