Javascript 复制React Redux还原器中的对象

Javascript 复制React Redux还原器中的对象,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,我是一个新的反应者,甚至是一个新的反应者 因此,我的reducer中有一个初始状态,它是Object={} 现在我想修改这个状态,并将其与对象用户一起返回 所以我希望得到一个结果Object={user} 用户本身具有以下属性: {A: 1, B:2, C:3} 如果我使用Object.assign({},state,user} 我得到如下结论: Object = {A: 1, B:2, C:3} 因此,如何将用户对象作为参数复制到状态对象而不将其拆分。如果要添加的对象是数组,如何执行此操作

我是一个新的反应者,甚至是一个新的反应者

因此,我的reducer中有一个初始状态,它是
Object={}

现在我想修改这个状态,并将其与对象用户一起返回

所以我希望得到一个结果
Object={user}

用户本身具有以下属性:

{A: 1, B:2, C:3}
如果我使用
Object.assign({},state,user}
我得到如下结论:

Object = {A: 1, B:2, C:3}

因此,如何将用户对象作为参数复制到状态对象而不将其拆分。如果要添加的对象是数组,如何执行此操作。

请尝试以下操作:
object.assign({},state,{user})

编辑:回应您下面的评论,如果用户是一个数组,比如说
users
,则其工作原理相同:

> var state = {A: 1, B:2, C:3}
> var users = [1,2,3];
> Object.assign({}, state, {users});
{A: 1, B: 2, C: 3, users: [ 1, 2, 3 ] }
试试这个:

Object.assign({}, state, { user: user })
原因:

您正在传递的对象将覆盖前面的选项,通过传递user,您将用{A:1,B:2,C:3}覆盖当前状态,而不是用keyid user覆盖对象中的属性


或者(如果您的设置支持),您可以按如下方式使用排列语法:

{
  ...state,
  user: user
}
事实上,甚至更短

{
  ...state,
  user 
}

Object.assign
对于Redux来说太过分了。

呵呵,别客气!现在我要添加的对象是一个数组,我该怎么做呢?@StochasticNerd你可以看看这个答案不确定你拆分它是什么意思-你能添加你希望商店成为的对象吗?