1
這是我的模型:在訪問近來狀態設置屬性返回舊值
class Board extends React.Component {
constructor() {
super();
this.state = {
squares: Array(3).fill(Array(3).fill(null)),
xIsNext: true
};
}
get turn() {
return this.state.xIsNext ? 'X' : 'O';
}
handleTurn(x, y) {
const squares = this.state.squares.slice().map(function(row) {
return row.slice();
});
const turn = this.turn; // this returns either "X" or "Y"
squares[x][y] = turn; // this is the value I'm going to be accessing later on
this.setState({
squares: squares
});
if (this.isSolved(x, y)) {
console.log('VICTORY!')
}
this.nextPlayer();
}
isSolved(x, y) {
var count = 0
var player = this.state.squares[x][y]; // here is when I try to access the value set at at 'handleTurn')
// more stuff down there
return false;
}
我的問題是這樣的:isSolved
從handleTurn
來,在handleTurn
我將建立從座標之一二維爲'X'或'Y';但是當我檢查isSolved
中的值時,我總是得到以前的值,而不是我剛剛設置的值。
例如,在第一個電話將獲得null
(當我期望X
),第二個電話,我會得到X
(當我期望O
那時)等
太好了!謝謝。現在我在文檔中找到它。 :) – yivi