Winkel 2 ngrx : so aktualisieren Sie ein array, das eingebettet ist in eines der Elemente, die meines Staates array?
In meinem reducer, ich möchte hinzufügen, ein element, das in ein array wie dieses :
Die JSON-Struktur (recieved mit http-Dienste):
{
"id": "09fabf9a-e532-4d2a-87cc-bd949a0a437f",
"title": 'my title',
"itemId": "6d442772-d414-46b1-8aab-a105d2bc3b38",
"createdOn": "2017-01-12T10:12:22.987Z",
**"replays": []**
}
So, ich möchte hinzufügen (und warum nicht aktualisieren) dieses replays array, welches sich in den Bewertungen array.
BEWERTUNGEN ARRAY :
[review1,review2,review3...review(n)]
Ich habe bereits einen Druckminderer für die Verwaltung der Bewertungen, aber wie würde ich es tun, mit replays die redux Weg ?
THX
EDIT 1 : REDUCER-CODE
xport const Reviews: ActionReducer<Array<Review>> = (state: any[] = [], action: Action) => {
switch (action.type) {
case GET_REVIEWS:
return action.payload;
case ADD_REVIEW:
return [...state, action.payload];
case UPDATE_REVIEW:
let index = state.map(review => review.id).indexOf(action.payload.id);
return [
...state.slice(0, index),
Object.assign({}, state[index], action.payload),
...state.slice(index + 1)
];
case DELETE_REVIEW:
return state.filter(item => {
return item.id !== action.payload;
});
case ADD_REPLAY:
return 'HERE I'AM STUCK !'
default:
return state;
}
};
- Könnten Sie fügen Sie Ihre reducer-code als auch?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Ihr handeln für die
ADD_REPLAY
Aktion ist ein Objekt mit der überprüfung der ID, sowie die Wiedergabe hinzufügen. Um nicht mutieren die Objekte (Wiedergabe und Bewertung), die Sie haben, um Sie zu ersetzen.Es ist eine große Kostenlose video erklärt, wie zu vermeiden array Mutationen auf eierkopf.