使用相同选择器性能的 Ngxs
Ngxs using same selector performance
我正在使用 Angular 和 container/presentation 模式和 Ngxs。我的问题如下:
我有一个容器组件嵌套在另一个容器组件中,并且都调用相同的 @Select
:
@Select(State.exaple) example$: Observable<boolean>;
我无法将 example$
作为输入传递,也无法重新设计应用程序。
我的问题是:我应该使用 @Select
两次还是使用共享服务?
如果性能相同或影响最小,我会更喜欢使用双 @Select
但我想知道这种方法是否有任何问题或性能不佳。
性能影响最小,因为所有选择器都被记忆(即结果根据函数的输入进行缓存。给定相同的函数输入,缓存的结果将被返回,函数不会是 运行)。
共享状态 ReplaySubject 会有 2 个订阅,但是这个影响可以忽略不计。
我正在使用 Angular 和 container/presentation 模式和 Ngxs。我的问题如下:
我有一个容器组件嵌套在另一个容器组件中,并且都调用相同的 @Select
:
@Select(State.exaple) example$: Observable<boolean>;
我无法将 example$
作为输入传递,也无法重新设计应用程序。
我的问题是:我应该使用 @Select
两次还是使用共享服务?
如果性能相同或影响最小,我会更喜欢使用双 @Select
但我想知道这种方法是否有任何问题或性能不佳。
性能影响最小,因为所有选择器都被记忆(即结果根据函数的输入进行缓存。给定相同的函数输入,缓存的结果将被返回,函数不会是 运行)。 共享状态 ReplaySubject 会有 2 个订阅,但是这个影响可以忽略不计。