我必须使用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。请帮助我
答案 0 :(得分:0)
您可以使用spread运算符根据操作有效负载更新嵌套状态数据:
case "UPDATE_DATA":
return {...state,
updateData: {
...state.updateData,
[action.updatedDataId]: action.updatedData
}
}