some searching on SO leaves me to believe that there is no good (simple) way of achieving the question in the title. The following threads are all very related:
Get current ngrx state without subscribe
Using ngrx to obtain store's current state once
How to get current value of State object with @ngrx/store?
From the last thread ^, it seems that the only way of achieving this is to use withLatestFrom()
or combineLatest()
.
It can't be the case that the following is the only way to make sure you only receive 1 item and that this item is the most recent one:
of('terribleLatestValueHack').pipe(
withLatestFrom(this.store.select(itemSelector))
).subscribe((stringAndItem: [string, Item]) => {
const [, item] = stringAndItem;
// do something with item
});
Given that selecting one most recent item from a Store
- is a (very) simple use-case
- seems to be a highly requested functionality
I would really like to know why the existing support (apparently there was - in NGRX v2 - according to How to get current value of State object with @ngrx/store?) for it has been removed.