Reactjs tic-tac-toe中的数组 类板扩展React.Component{ 建造师(道具){ 超级(道具); 此.state={ 正方形:数组(9)。填充(空), 下一个:是的, }; } handleClick(一){ const squares=this.state.squares.slice(); 正方形[i]=this.state.xIsNext?'X':'O'; 这是我的国家({ 正方形:正方形, xIsNext:!this.state.xIsNext, }); } renderSquare(一){ 返回( 这个.handleClick(i)} /> ); } render(){ const status='Next player:'+(this.state.xIsNext?'X':'O'); 返回( {状态} {this.renderSquare(0)} {this.renderSquare(1)} {this.renderSquare(2)} {this.renderSquare(3)} {this.renderSquare(4)} {this.renderSquare(5)} {this.renderSquare(6)} {this.renderSquare(7)} {this.renderSquare(8)} ); } }
在这种组件状态下,“正方形”是由九个空元素组成的数组。我不明白它指的是什么,因为我们已经分别定义了renderSquare()中的所有按钮。它定义了什么?还有其他方法吗?本例中的Reactjs tic-tac-toe中的数组 类板扩展React.Component{ 建造师(道具){ 超级(道具); 此.state={ 正方形:数组(9)。填充(空), 下一个:是的, }; } handleClick(一){ const squares=this.state.squares.slice(); 正方形[i]=this.state.xIsNext?'X':'O'; 这是我的国家({ 正方形:正方形, xIsNext:!this.state.xIsNext, }); } renderSquare(一){ 返回( 这个.handleClick(i)} /> ); } render(){ const status='Next player:'+(this.state.xIsNext?'X':'O'); 返回( {状态} {this.renderSquare(0)} {this.renderSquare(1)} {this.renderSquare(2)} {this.renderSquare(3)} {this.renderSquare(4)} {this.renderSquare(5)} {this.renderSquare(6)} {this.renderSquare(7)} {this.renderSquare(8)} ); } },reactjs,Reactjs,在这种组件状态下,“正方形”是由九个空元素组成的数组。我不明白它指的是什么,因为我们已经分别定义了renderSquare()中的所有按钮。它定义了什么?还有其他方法吗?本例中的状态。正方形数组表示电路板上的当前值。 您引用的按钮呈现为一个元素,该元素显示该特定索引的状态值 state.squares数组初始化为null元素数组,因为只有在单击按钮时,该值才设置为X或O。本例中的state.squares数组表示电路板上的当前值。 您引用的按钮呈现为一个元素,该元素显示该特定索引的状态值 sta
状态。正方形数组表示电路板上的当前值。
您引用的按钮呈现为一个
元素,该元素显示该特定索引的状态值
state.squares
数组初始化为null
元素数组,因为只有在单击
按钮时,该值才设置为X
或O
。本例中的state.squares
数组表示电路板上的当前值。
您引用的按钮呈现为一个
元素,该元素显示该特定索引的状态值
state.squares
数组初始化为null
元素的数组,因为只有在单击
按钮时,该值才设置为X
或O
。如果为调试添加代码很好。该数组有九个位置。renderSquare
函数接收其中一个位置作为参数(i)
,然后返回该正方形的DOM元素-使用数组查看该正方形的状态。如果为调试添加代码很好,则该数组有九个位置。renderSquare
函数接收其中一个位置作为参数(i)
,然后返回该正方形的DOM元素-使用数组查看该正方形的状态。
class Board extends React.Component {
constructor(props) {
super(props);
this.state = {
squares: Array(9).fill(null),
xIsNext: true,
};
}
handleClick(i) {
const squares = this.state.squares.slice();
squares[i] = this.state.xIsNext ? 'X' : 'O';
this.setState({
squares: squares,
xIsNext: !this.state.xIsNext,
});
}
renderSquare(i) {
return (
<Square
value={this.state.squares[i]}
onClick={() => this.handleClick(i)}
/>
);
}
render() {
const status = 'Next player: ' + (this.state.xIsNext ? 'X' : 'O');
return (
<div>
<div className="status">{status}</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>
);
}
}