Javascript 替换对象减速器中的数组

Javascript 替换对象减速器中的数组,javascript,reactjs,redux,Javascript,Reactjs,Redux,我有一个元素数组,它是在一个操作中更新的,现在我想在存储中更新它。目前我有一些类似于: navigation |_navigationItems:[{1:"foo"}, {2:"bar"}, {3:"foobar"}] 问题是我在做以下事情: case types.UPDATE_NAVIGATION: return Object.assign({}, state, { navigationItems: action.payload.items, }); 其中项目为:[{1:z

我有一个元素数组,它是在一个操作中更新的,现在我想在存储中更新它。目前我有一些类似于:

navigation
|_navigationItems:[{1:"foo"}, {2:"bar"}, {3:"foobar"}]
问题是我在做以下事情:

case types.UPDATE_NAVIGATION:
  return Object.assign({}, state, {
    navigationItems: action.payload.items,
  });
其中项目为:
[{1:zoo},{2:foobar}]

但商店并没有成功更新


我遗漏了什么吗?

文档建议在
对象上使用扩展运算符语法。分配

使用:


你的行为被触发了吗。你能在这个case语句中console.log()并查看是否得到结果吗?在调用
case
之后放置一个
console.log()
,在那里我更新了数组。尝试扩展运算符语法:
case types.UPDATE\u导航:return{…state,navigationItems:action.payload.items}
@shubhamkhattri,请将其作为答案发布,它成功了。但现在:它为什么会起作用?仍然可以使用
Object.assign
?Object.assign应该对您有效,据我所知,您的操作是正确的。您也可以参考我的答案,提供更多信息。
case types.UPDATE_NAVIGATION: 
     return {
         ...state, navigationItems: action.payload.items
     }