2017-02-22 28 views
0

Ich muss die ES6-Funktion verwenden, um ein einzelnes Objekt aus der Liste im react-redux-Projekt zu aktualisieren. Mein Minderer ist wie folgt: -Wie aktualisiert man ein Listenelement der Liste in react-redux mit ES6?

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 
} 

Hier updatedData ist das aktualisierte Objekt aus Aktion zurück.

In Switch-Fall "UPDATE_DATA" Wie kann ich das neue Objekt der Liste zuweisen? Ich will nicht den Staat mutieren und ich das ES6 bin mit unserer project.Please mir helfen

.

Antwort

0

Sie können Spread-Operator aktualisiert verschachtelten Zustandsdaten basierend auf Aktion Nutzlast verwenden:

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