我正在关注官方网站上的 React Js 教程,该教程帮助我们构建了一个井字棋游戏。方框是通过对所有方框进行硬编码来创建的,如下所示:
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>
);
}
Run Code Online (Sandbox Code Playgroud)
我设法通过使用 for 循环来缩短代码,如下所示:
render(){
let sqrRen = [];
for(let i = 0; i < 9; i=i+3){
sqrRen.push(<div className = "board-row">
{this.renderSquare(0+i)}
{this.renderSquare(1+i)}
{this.renderSquare(2+i)}
</div>);
}
return (
<div>
{sqrRen}
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
但我还想使用另一个 for 循环生成每行中的正方形,如下所示:
render(){
let sqrRen = [];
for(let i = …Run Code Online (Sandbox Code Playgroud)