我有这个选择器函数,它可以帮助我选择自定义商店的一部分,但只能选择一部分或整个商店。
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(
)