我尝试在ReactJS 教程 Tic-tac-toe game 中完成额外的练习。
现在我有这个代码:
class Board extends React.Component {
renderSquare(i) {
return (
<Square
value={this.props.squares[i]}
onClick={() => this.props.onClick(i)}
/>
);
}
render() {
return (
<div>
<div className="board-row">
{this.renderSquare(0)}
{this.renderSquare(1)}
{this.renderSquare(2)}
</div>
<div className="board-row">
{this.renderSquare(3)}
{this.renderSquare(4)}
{this.renderSquare(5)}
</div>
<div className="board-row">
{this.renderSquare(6)}
{this.renderSquare(7)}
{this.renderSquare(8)}
</div>
</div>
);
}
}
{this.renderSquare(x)}
我不想硬编码9 次,而是想用两个循环替换它们或使用,map(map())
但我写的所有内容看起来都比硬编码更糟糕。
有没有更好的方法来做到这一点并避免硬编码?