Если я пишу так:
render() {
let a = this.state.table
for (var key in a) {
console.log("Key:", key)
console.log("Value:", a[key])
}
...
}
То все работает правильно и выводит
KEY: 0
Value: {$$typeof: Symbol(react.element), type: "tr", key: "3", ref: null, props: {…}, …}
А так:
render() {
let a = this.state.table
a[0] = some_thing \\ a['0'] = some_thing .table тоже
...
}
Выдает ошибку:
Uncaught TypeError: Cannot set property '0' of null (react-dom.development.js:25193)
Как это исправить?
render вызывается несколько раз. В один из этих разов (первый?) this.state.table равно null. Цикл по свойствам null-объекта не выполняет ни одной итерации, поэтому Вы его не видите в консоли.
var a = null;
console.log("before for");
for (var key in a) {
console.log("Key:", key)
console.log("Value:", a[key])
}
console.log("after for");
Сборка персонального компьютера от Artline: умный выбор для современных пользователей