2017-02-22 19 views
0

我必須使用ES6功能來更新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。請幫助我

回答

0

您可以使用傳播運營商基於行動的有效載荷更新嵌套的狀態數據:

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