使用相同选择器性能的 Ngxs

Ngxs using same selector performance

我正在使用 Angular 和 container/presentation 模式和 Ngxs。我的问题如下:

我有一个容器组件嵌套在另一个容器组件中,并且都调用相同的 @Select:

@Select(State.exaple) example$: Observable<boolean>;

我无法将 example$ 作为输入传递,也无法重新设计应用程序。

我的问题是:我应该使用 @Select 两次还是使用共享服务?

如果性能相同或影响最小,我会更喜欢使用双 @Select 但我想知道这种方法是否有任何问题或性能不佳。

性能影响最小,因为所有选择器都被记忆(即结果根据函数的输入进行缓存。给定相同的函数输入,缓存的结果将被返回,函数不会是 运行)。 共享状态 ReplaySubject 会有 2 个订阅,但是这个影响可以忽略不计。