非常简单的问题,当我在渲染时使用.map
函数进行反应时,我循环遍历数组,例如:
render() {
let board = this.props.board;
return (
<div>
{
board.map((piece,index) => {
return (
<Piece data={piece}/>
);
})
}
</div>
);
}
我正在尝试每5件添加一个断行,以便(index % 5 == 0)
在<br />
之前添加<Piece />
当我尝试与+
结合或做这样的事情时:
board.map((piece,index) => {
return (
(index % 5 == 0) ? <br /> : ''
<Piece data={piece}/>
);
})
我得到的是[Object object]
的
答案 0 :(得分:8)
如果条件成立则返回[ <br />, <Piece> ]
数组,否则返回Piece
组件。 See the fiddle.
相关的代码是:
return <div>{items.map(function (i, index) {
if (index % 5 === 0) {
return [ <br key={index + "break"} />, <Item key={index} num={i} /> ];
}
return <Item key={index} num={i} />;
})}</div>;
此外,将key
放在从map
返回的组件或其他返回类似数组的实例的方法上。这样,React不需要取出所有生成的组件并在每次渲染时替换它们,但可以在键下找到它们并更新它们的属性。查看React文档中的Reconciliation以了解详情。