nicht zu werden ich ein Array Zustandsgröße, die ich auf ein Array während der componentWillMount() -MethodeArray Zustandsgröße wird während componentWillMount gesetzt
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();
},
Wie Sie sehen können erstellt einstellen versuche, ich bevölkern die Variable 'Matrix' in der Methode cwm() und Setzen der Variable 'Matrix' des Status 'gleich dieser neuen Variable' Matrix '. Daher sollte die Zustandsmatrixvariable nach der Ausführung dieser Methode mit einer Reihe von Zellen gefüllt werden.
jedoch in der createGrid() -Methode, die von der CWM() -Methode aufgerufen wird, ich versuche, wie dies ein Element in der Matrix zuzugreifen:
var currentCell = this.state.matrix[i][j];
Dies verursacht jedoch ein Fehler, der sagt: Kann nicht Lese Eigenschaft '0' von undefiniert.
Ich würde gerne wissen, warum die Statusvariable nicht festgelegt ist und wie ich es beheben kann.
Prost.