对 SO 的一些搜索让我相信没有好的(简单的)方法来实现标题中的问题。以下线程都非常相关:
从最后一个线程 ^ 来看,实现这一点的唯一方法似乎是使用withLatestFrom()or combineLatest()。
以下不可能是确保您只收到 1 件商品且该商品是最新商品的唯一方法:
of('terribleLatestValueHack').pipe(
withLatestFrom(this.store.select(itemSelector))
).subscribe((stringAndItem: [string, Item]) => {
const [, item] = stringAndItem;
// do something with item
});
Run Code Online (Sandbox Code Playgroud)
鉴于从商店中选择一件最新商品
我真的很想知道为什么现有的支持(显然 - 在 NGRX v2 中 - 根据How to get current value of State object with @ngrx/store?)已被删除。
我忘了补充一点,我的印象是store.select(...).pipe(first())不会从商店退回最新的商品。但看起来确实如此,并且它返回的任何错误值的原因都在于我们自己的代码中。
store.select(...).pipe(first())实际上只是这样做:从 a 返回一项当前项目Store(并完成Observable)。
| 归档时间: |
|
| 查看次数: |
4931 次 |
| 最近记录: |