如何更新反应状态对象数组

时间:2016-11-26 18:51:43

标签: reactjs reactive-programming

我需要知道如何更新状态内的用户数组以接受新的用户对象。

state users数组仅包含id和name。

当我尝试使用update addon推送用户数组中的项目时。

var newUser = {id:1, name:'Foo'};
let newState = update(this.state, {users: {$push: [newUser]}});

“react-dom.js:17858未捕获错误:对象无效作为React子对象(找到:具有键{id,name}的对象)。如果要渲染子集合,请使用数组或使用React附加组件中的createFragment(object)包装对象。检查UsersTable的渲染方法。(...)“

1 个答案:

答案 0 :(得分:0)

你正在改变状态。而是尝试:

const users = this.state.users
users.push(newUser)
this.setState(Object.assign({}, this.state, { users }}))