У меня есть список объектов в моем ngrx/store
, когда пользователь нажимает на кнопку, я хочу найти этот объект, используя идентификатор объекта, и обновлять его соответствующие свойства с помощью ngxr/entities
. Как-то мне удается это сделать, но я знаю,Это не правильный путь. Это моя текущая реализация.
const initialState: TourListState = {
tours: null,
isLoading: false,
error: null
}
const tourListReducer = createReducer(initialState,
...,
...,
...,
...,
on(createTourListSucess, (state) => {
return { ...state, isLoading: false }
}),
on(updateTourList, (state, { tour }) => {
state.tours.find(tourex => tourex.tourId === tour.tourId).coverImage = tour.coverImage;
state.tours.find(tourex => tourex.tourId === tour.tourId).title = tour.title;
state.tours.find(tourex => tourex.tourId === tour.tourId).priceInfo = tour.priceInfo;
state.tours.find(tourex => tourex.tourId === tour.tourId).city = tour.city;
state.tours.find(tourex => tourex.tourId === tour.tourId).countryName = tour.countryName;
return { ...state, isLoading: false }
}),
on(updateTourListSuccess, (state) => {
return { ...state, isLoading: false }
}),
....,
)
export function reducer(state: TourListState | undefined, action: Action) {
return tourListReducer(state, action)
}