【发布时间】:2017-06-27 15:08:42
【问题描述】:
我尝试在ReactJS tutorial 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()),但我写的所有东西看起来都比硬编码更糟糕。
有没有更好的方法来避免硬编码?
【问题讨论】:
-
看看How to Ask。什么“看起来更糟”?情况如何更糟?它不工作吗?等等。编辑您的问题以进行相应的澄清。还有codereview.stackexchange.com 可能是解决此类问题的更好场所。
-
看起来不错。
-
您是否发现以下任何有用的答案?如果是,请考虑对他们进行投票并“接受”解决您的问题的那个(如果有的话)。
标签: javascript loops reactjs