Javascript 在Redux中将键/值添加到字典

Javascript 在Redux中将键/值添加到字典,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我正在学习Redux,但在尝试找出如何将密钥对添加到字典时遇到了困难: //Page Dictionary { randomId1: { aPageObj }, randomId2: { aPageObj }, etc } 我试过了,但没用 //action export function addPage( pageId, pageObj ) { return { type: types.ADD_PAGE, pageId, pageObj }; } //reducer c

我正在学习Redux,但在尝试找出如何将密钥对添加到字典时遇到了困难:

//Page Dictionary    
{
  randomId1: { aPageObj },
  randomId2: { aPageObj }, etc
}
我试过了,但没用

//action
export function addPage( pageId, pageObj ) {
  return { type: types.ADD_PAGE, pageId, pageObj };
}

//reducer
case types.ADD_PAGE: {
  return Object.assign({}, state, {
    pages: {
      ...state.pages, action.pageId: action.pageObj
    }
  });
}
我做错了什么?仍在试图找出如何不改变状态。

您需要使用对象文字(使用
[]
):

此外,如果可以使用object spreas语法,则可以省略object.assign,例如:

return {
  ...state,
  pages: {
    ...state.pages, [action.pageId]: action.pageObj
  }
}
您需要使用对象文字(与
[]
):

此外,如果可以使用object spreas语法,则可以省略object.assign,例如:

return {
  ...state,
  pages: {
    ...state.pages, [action.pageId]: action.pageObj
  }
}

啊,就这样?唉,泰。啊,我喜欢这个编辑。。我一直在使用Object.assign处理一切。。。在你的第二个例子中,你不需要方括号?哦,好的。我很兴奋。我认为这是可能的:)啊,就这样?唉,泰。啊,我喜欢这个编辑。。我一直在使用Object.assign处理一切。。。在你的第二个例子中,你不需要方括号?哦,好的。我很兴奋。我认为这是可能的:)