0
期間設置我有我試圖設置爲componentWillMount()方法陣列狀態變量沒有被componentWillMount
getInitialState: function() {
return {
matrix: [],
generation: 0,
neighbors: [[0,1], [1,0], [-1, 0], [0, -1], [1, 1], [-1, -1], [-1, 0], [0, -1]]
};
},
componentWillMount: function() {
function Cell() {
this.neighbors = 0;
this.isAlive = false;
};
var matrix = [];
var dim = this.props.dim;
for (var i = 0; i < dim; i++) {
var row = [];
for (var j = 0; j < dim; j++) {
row.push(new Cell());
}
matrix.push(row);
}
this.setState({matrix: matrix});
this.createGrid();
},
正如你可以看到,我填充期間創建的陣列的陣列狀態變量cwm()方法中的'matrix'變量,並將狀態'matrix'變量設置爲等於這個新的'矩陣'變量。所以,在這個方法運行後,狀態矩陣變量應該被填充一堆單元格。
然而,在createGrid()方法,該方法從CWM()方法調用我試圖訪問一個元素在基體中是這樣的:
var currentCell = this.state.matrix[i][j];
然而,這導致其說,一個錯誤:不能讀取未定義的屬性'0'。
我想知道爲什麼沒有設置狀態變量,以及如何修復它。
乾杯。