【发布时间】:2019-06-25 20:04:03
【问题描述】:
如何在循环中以反应状态推送对象列表中的数组?
我的默认状态:
this.state = {
users: [
{
id:1,
name: 'John'
},
{
id:2,
name: 'Nick'
}
]
};
我尝试了类似的方法,但它不起作用
changeHandler (currentUser, newValue) {
const users = this.state.users;
for (var i in users) {
if (users[i].id == currentUser) {
this.setState({
users: [...this.state.users[i], {newValue: newValue}]
})
}
break;
}
}
所以我希望看到:
default state - {id:1,name: 'John'},{id:2, name: 'Nick'}
use changeHandler(2,1) - {id:1,name: 'John'},{id:2, name: 'Nick', newValue: [1]}
use changeHandler(2,2) - {id:1,name: 'John'},{id:2, name: 'Nick', newValue: [1,2]}
use changeHandler(2,3) - {id:1,name: 'John'},{id:2, name: 'Nick', newValue: [1,2,3]}
【问题讨论】:
标签: javascript arrays reactjs object state