ES6新手,所以我正在寻找forEach()
的简短替换,我找到了this。
阵营:
...
_productLoop(){
for (var product of this.props.data) {
const varient = product.variants.map(v => v);
console.log(varient[0]);
return(
<tr>
<td>{product.title}</td>
</tr>
)
}
}
render(){
return(
<table>
[...]
<tbody>
{this._productLoop()}
</tbody>
</table>
)
}
...
我有两个数组但是我的循环只显示了一个对象。这里有任何错误吗?
答案 0 :(得分:2)
return
语句打破了循环。除此之外,return
语句不能连接从函数返回的内容。执行return
后,您无法再次执行return
。
解决方案是创建一个字符串并将结果与自身连接起来,然后再返回。这是你所期望的。
编辑:我从未写过react.js,但我很快就会更新此答案。这不是你的情况......
var result = "";
for (var product of this.props.data) {
result += "\
<tr>\
<td>" + product.title + "</td>\
</tr>";
}
return result;
答案 1 :(得分:1)
我不确定你记录的varient
(错字,顺便说一句)是什么,但从一开始,你可能想要更像这样的东西:
...
render() {
return (
<table>
[...]
<tbody>
{this.props.data.map(product =>
<tr>
<td>{product.title}</td>
</tr>
)}
</tbody>
</table>
)
}
...
答案 2 :(得分:1)
您可以使用以下代码this.props.data.map(showProduct)
来循环播放每个道具数据并调用showProduct
函数并显示标题
render() {
const showProduct = (item) => {
return (<tr>
<td>{product.title}</td>
</tr>);
};
return (
<table>
[...]
<tbody>
{this.props.data.map(showProduct)}
</tbody>
</table>
)
}
答案 3 :(得分:0)
我需要这个功能:
Double.MAX_VALUE