无法通过ngrx效果正确获取firebase数据
我第一次向你寻求帮助,因为我陷入了困境。 我正在使用ngrx效果从firebase实时数据库将一些商店物品加载到app init上的购物车中。作为有效负载,我得到的是整个firebase数据库快照对象,而不仅仅是商店项目本身,因此ngrx商店接收到一个它无法理解的对象,并且应用程序状态没有改变 请检查照片:当console.logged()时,我看到了我需要的确切对象。但是Redux开发工具揭示了真正的交易,我不知道如何解决这个问题。有人能给我一些建议吗?非常非常感谢 效果如下所示:无法通过ngrx效果正确获取firebase数据,firebase,redux,ngrx,ngrx-store,ngrx-effects,Firebase,Redux,Ngrx,Ngrx Store,Ngrx Effects,我第一次向你寻求帮助,因为我陷入了困境。 我正在使用ngrx效果从firebase实时数据库将一些商店物品加载到app init上的购物车中。作为有效负载,我得到的是整个firebase数据库快照对象,而不仅仅是商店项目本身,因此ngrx商店接收到一个它无法理解的对象,并且应用程序状态没有改变 请检查照片:当console.logged()时,我看到了我需要的确切对象。但是Redux开发工具揭示了真正的交易,我不知道如何解决这个问题。有人能给我一些建议吗?非常非常感谢 效果如下所示: @Effe
@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
};
}
));
})
);
使用来自的,而不是来自的:
import { from } from 'rxjs';
@Effect()
getShopItems: Observable<any> = this.actions.pipe(
ofType(shopActions.GET_ITEMS),
switchMap(() => {
return from(this.database.ref('cart').once('value', snap => {
snap.forEach(childSnap => childSnap.val());
}))
.pipe(
map((payload) => {
return {
type: 'GET_ITEMS_SUCCESS',
payload: payload
};
}
));
})
);
从'rxjs'导入{from};
@效果()
getShopItems:可观察的使用来自
的而不是的:
import { from } from 'rxjs';
@Effect()
getShopItems: Observable<any> = this.actions.pipe(
ofType(shopActions.GET_ITEMS),
switchMap(() => {
return from(this.database.ref('cart').once('value', snap => {
snap.forEach(childSnap => childSnap.val());
}))
.pipe(
map((payload) => {
return {
type: 'GET_ITEMS_SUCCESS',
payload: payload
};
}
));
})
);
从'rxjs'导入{from};
@效果()
getShopItems:Observable是否执行案例shopActions。是否成功获取\u ITEMS
是否调用?是的,是否执行。这是在app init.Update上调用的最后一个东西:我现在知道我正在接收一个ZoneAwarePromise作为GET_ITEMS_SUCCESS的有效负载。从中提取必要的数据似乎是现在的主要问题。case shoppactions.GET\u ITEMS\u SUCCESS
GET call?是的。这是在app init.Update上调用的最后一个东西:我现在知道我正在接收一个ZoneAwarePromise作为GET_ITEMS_SUCCESS的有效负载。从中提取必要的数据似乎是现在的主要问题。我真的看不出有什么区别,它们都返回可观测值,遍历它们是一样的。你能进一步发表评论吗?@分享主义行不通吗?如果我指给你看-,firebase呼叫返回的承诺将不会由of正确处理,但应该由@SharisM正确处理。还有,这个参考-好的,现在更清楚了!谢谢你,先生。我将尝试在我的代码中实现这些知识,看看会发生什么。感谢您的指导,我在代码中发现了更多的缺陷,并修复了我的问题。我认为你的回答很有帮助,但似乎我的名声太小,现在还不能真正让人听到我的声音。我真的看不出有什么区别,它们都返回可观测值,遍历它们是一样的。你能进一步发表评论吗?@分享主义行不通吗?如果我指给你看-,firebase呼叫返回的承诺将不会由of正确处理,但应该由@SharisM正确处理。还有,这个参考-好的,现在更清楚了!谢谢你,先生。我将尝试在我的代码中实现这些知识,看看会发生什么。感谢您的指导,我在代码中发现了更多的缺陷,并修复了我的问题。我认为你的回答很有帮助,但现在看来我的名声太小,无法让别人听到我的声音。