自定义rxjs存储的选择器函数



我有这个选择器函数,它可以帮助我选择自定义商店的一部分,但只能选择一部分或整个商店。

select<K>(mapFn: (state: T) => K): Observable<K> {
return this.internalState$.asObservable().pipe(
map((state: T) => mapFn(state)),
distinctUntilChanged()
);
}

我这样使用

this.title$ = this.store.select((s) => s.title)

工作正常,但我遇到了一种情况,我需要我的状态的两个部分。我是这样解的this.store.select((s) => s).pipe(map((m) => ({ date: m.date, zone: m.zone })))或选择整个商店,并在下一个管道中使用我需要的属性或使用所选状态的combinellatest。

是否有一种方法来创建一个选择器,将选择商店的属性?我以前用过Pick<T>,但我不知道如何在这里应用。

.select((s) => s)本身不做任何事情。

你应该这样做:

this.store.select(s => ({ date: s.date, zone: s.zone })).pipe(
)

最新更新