У меня есть (ngrx) магазин для массива объекта Speaker и для SelectedSpeaker. Редуктор выглядит так:redux: как обновить соответствующую информацию в магазине
export const speakers = (state: any = [], { type, payload }) => {
switch (type) {
case SpeakerActions.TOGGLEFAVORITE:
return state.map(speaker => {
return speaker.id === payload.id ? _.assign({}, speaker, {isFavorite: !speaker.isFavorite}) : speaker;
});
}
}
Я упустил неважный код. Редуктор для currentSpeaker выглядит следующим образом:
export const selectedSpeaker = (state: any = [], { type, payload }) => {
switch (type) {
case SelectedSpeakerActions.SELECT:
return payload;
}
}
Теперь мой вопрос, если я направить SpeakerActions.TOGGLEFAVORITE для говорящего, и это случается SelectedSpeaker, как мне обновить SelectedSpeaker в этом случае? Обратите внимание, что все это работает как часть проекта Angular2, для чего это стоит.
@TomW правильно, вы должны использовать идентификатор, который должен быть идентификатором выбранного пользователя. Я сделал тему о ngrx в документации stackoverflow, если вы не знакомы с ngrx, это может помочь :)! http://stackoverflow.com/documentation/angular2/8086/ngrx#t=201612051500428489056 – Maxime