我正在开发具有NgRx商店的Angular应用程序,并具有在视图和商店之间进行中介的服务。当我编写函数以检索商店的一部分时,我倾向于使用NgRx的select
运算符:
getSomeInfoFromStore(): Observable<SomeInfo> {
return this.store.pipe(select('SomeInfo'));
// --------------------^^^^^^
}
但是我也看到了使用RxJs的'pluck'运算符编写的类似服务功能:
getSomeInfoFromStore(): Observable<SomeInfo> {
return this.store.pipe(pluck('SomeInfo'));
// --------------------^^^^^
}
RxJs's pluck
operator和NgRx's select
operator有什么区别?它们可以互换吗?如果没有,我应该何时使用它们?
答案 0 :(得分:0)
在您的示例中,它执行相同的AFAIK。
不同之处在于NgRx的select
可以利用选择器,而选择器是真正的力量所在。
通过使用createSelector
方法创建选择器,可以提高性能,因为只有在状态更改时才会调用它。