我将Angular与容器/表示模式和Ngxs一起使用。我的问题如下:
我有一个嵌套在另一个容器组件中的容器组件,它们都调用相同的@Select
:
@Select(State.exaple) example$: Observable<boolean>;
我无法通过example$
作为输入,也无法重新设计应用程序。
我的问题是:我应该使用@Select
两次还是使用共享服务?
如果性能相同或影响最小,我更喜欢使用双@Select
,但我想知道这种方法是否有任何问题或性能不好。
由于所有选择器都是内存化的,所以对性能的影响最小(即,结果是根据函数的输入缓存的。如果函数的输入相同,则会返回缓存的结果,而函数不会运行(。将有2个对共享状态ReplaySubject的订阅,但其影响可以忽略不计。