在 @Component
中,我应该始终多播 .select(myCustomSelector)
吗?
例如
this.store.select(myCustomSelector).pipe(share());
否则每次我执行async
时,它都会创建一个新的订阅。或者因为选择器已被内存,所以可以吗?
我想知道什么是好的做法。
最佳答案
不,您不应该将 share()
与 .select()
一起使用
但这取决于您使用的商店实现。
在 ngrx、ngxs、akita 中,存储由对象支持,因此从 select 返回的 observable 不会触发任何副作用。
然后通过reducer更新存储,然后所有选择都将获得新值,但由于它们都在这个单个对象(状态)上工作,因此不会出现性能问题。
关于angular - .select 上的 rxjs/ngrx 多播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53262500/