Я обновляю состояние onchange.setState работал без предоставления prevstate, но, конечно, не записывал значения остальных состояний.Но когда я добавил в prevstate, я получил эту ошибку:
TypeError: Невозможно прочитать свойство 'name' из неопределенного
110 | if(inputs[i].checked && this.state.rates[`${inputs[i].name}`] !== true ) {
111 | this.setState(prevstate=>({
112 | ...prevstate,
> 113 | rates: {
| ^ 114 | ...prevstate.rates,
115 | [inputs[i].name]: true
116 | }
Я не знаю, что вызываетэтот.Вот состояние и моя функция handleChange:
this.state={
rawnew:[],
rawold:[],
posts: [],
count: 0,
report: false,
rates: {}
}
Функция handleChange:
handleChange = (e) => {
var inputs = document.getElementsByTagName('input')
console.log(this.state)
for (var i = 0; i < inputs.length; i++) {
console.log(i, inputs[i].name)
if (inputs[i].checked && this.state.rates[`${inputs[i].name}`] !== true) {
this.setState(prevstate => ({
...prevstate,
rates: {
...prevstate.rates,
[inputs[i].name]: true
}
}))
} else if (this.state.rates[`${inputs[i].name}`] !== undefined && this.state.rates[`${inputs[i].name}`] !== inputs[i].checked) {
this.setState(prevstate => ({
rates: {
...prevstate.rates,
[inputs[i].name]: !prevstate.rates[`${inputs[i].name}`]
}
}))
}
}
}