Я впервые обращаюсь к вам за помощью, потому что у меня большие проблемы.Я использую эффекты ngrx для загрузки некоторых товаров в корзину при запуске приложения из базы данных Firebase в реальном времени.В качестве полезной нагрузки я получаю весь объект моментального снимка базы данных Firebase, а не только сами элементы магазина, поэтому хранилище ngrx получает объект, который он не может понять, и состояние приложения не изменяется.
Проверьте фотографии, пожалуйста: когда console.logged (), я вижу именно те объекты, которые мне нужны.Но Redux Devtools раскрывают реальную сделку, и я не знаю, как это исправить.Может ли кто-нибудь дать мне совет?Большое спасибо.
Эффект выглядит следующим образом:
@Effect()
getShopItems: Observable<any> = this.actions.pipe(
ofType(shopActions.GET_ITEMS),
switchMap(() => {
return of(this.database.ref('cart').once('value', snap => {
snap.forEach(childSnap => childSnap.val());
// snap.forEach(childSnap =>
// console.log(childSnap.val()));
}))
.pipe(
map((payload) => {
return {
type: 'GET_ITEMS_SUCCESS',
payload: payload
};
}
));
})
);
Функции редуктора для рассматриваемых действий выглядят следующим образом:
case shopActions.GET_ITEMS: {
return {
...state,
shopItems: [...state.shopItems],
itemCount: state.shopItems.length
};
}
case shopActions.GET_ITEMS_SUCCESS: {
return {
...state,
shopItems: [action.payload],
itemCount: state.shopItems.length + 1
};
}
https://imgur.com/a/pDGAwFI