如何使用ES6更新react-redux中列表的列表项?

时间:2017-02-22 05:01:05

标签: ecmascript-6 react-redux

我必须使用ES6功能来更新react-redux项目中列表中的单个项目。 我的减速机是这样的: -

var initialState={
     data: [],
     updatedData={}
}
function labResultReducer(state =initialState, action) {
 switch (action.type) {
  case "GET_DATA:
       return Object.assign({}, state, {
       data: action.data
       });
  case "UPDATE_DATA":
        {(//......how to update the record
      });
  default:
  return state
}

此处updatedData是从操作返回的更新对象。

  

在Switch case" UPDATE_DATA"    如何将新对象分配给列表?我不想改变   国家和我在我们的项目中使用ES6。请帮助我

1 个答案:

答案 0 :(得分:0)

您可以使用spread运算符根据操作有效负载更新嵌套状态数据:

  case "UPDATE_DATA":
        return {...state, 
             updateData: {
                ...state.updateData,
                [action.updatedDataId]: action.updatedData
             }
        }