@ngrxStore createSelector-我可以手动调用createSelector吗?这不好吗?

时间:2018-09-06 13:45:50

标签: ngrx ngrx-store

说我有一个选择器

let getCount = createSelector(countState, (count) => {count ? count : 0 });

let myChecks: Observable<{
checkThis: boolean,
checkThat: boolean,
count: string}>


this.myChecks = this.store.select(state => {
  ... somelogic

    return {
       checkThis = somelogic.checkThis;
       checkThat = somelogic.checkThat;
       count = getCount(state)
    }
  });

考虑到我没有所有选择器,上面的例子不好吗?我能在select里面说getCount(state)而不是直接在select中使用它吗?

1 个答案:

答案 0 :(得分:0)

最好使用选择器,因为选择器会被记住。

  

使用createSelector和createFeatureSelector函数时   @ ngrx / store跟踪选择器中的最新参数   函数被调用。因为选择器是纯函数,所以最后一个   参数匹配时可以返回结果,而无需重新调用   您的选择器功能。这样可以提供性能优势,   特别是对于执行昂贵计算的选择器。这个   实践被称为记忆。

NgRX Docs