Javascript 如何使用react immutable helpers在现有对象中插入新对象

Javascript 如何使用react immutable helpers在现有对象中插入新对象,javascript,ruby-on-rails,reactjs,react-rails,Javascript,Ruby On Rails,Reactjs,React Rails,我正在Rails上开发一个应用程序,前端使用react_Rails gem。使用状态时,我有来自服务器的道具一个对象,看起来像这样:{assignments:{assignment1:{other_collection},{response:{key:value,key1:value1,etc:etc},{assignment2:{collection{}}}当我创建新的响应对象从服务器返回json时,我必须更新状态。请注意,第二个对象没有创建响应对象。我正在尝试以下代码来更新状态 addRe

我正在Rails上开发一个应用程序,前端使用react_Rails gem。使用状态时,我有来自服务器的道具一个对象,看起来像这样:
{assignments:{assignment1:{other_collection},{response:{key:value,key1:value1,etc:etc},{assignment2:{collection{}}}
当我创建新的响应对象从服务器返回json时,我必须更新状态。请注意,第二个对象没有创建响应对象。我正在尝试以下代码来更新状态

 addResponse(assignment, response) {
    let indexa = this.state.assignments.indexOf(assignment);
    let assignments = React.addons.update(this.state.assignments, {[indexa]: {   response: {$push: [response]}}});
    this.setState({assignments: assignments})
}
我在控制台上遇到以下错误:
“预计目标为$push成为一个阵列;获得客户indica que esta botando aceite por debajo。”这是键分配的on值:对于对象分配。在示例对象上,您可以看到服务器已经创建并发送了一个响应对象。如何解决此问题?

根据您的示例,响应是一个对象,因此您不能使用
$push
,它只能在arraysaccordin上使用在您的示例中,
response
是一个对象,因此您不能使用
$push
,它只能在数组上使用