首页 > 解决方案 > NGRX Angular 服务 - getter 使用 createdSelector

问题描述

我想要一项服务,我可以在其中获得 ngrx 选择器。好的做法是直接在选择中使用 createSelector 吗?

@Injectable()
export class LoginSelector{

    get data$() {
        return this.store.pipe(
            select(<b>createSelector</b>(
                this.loginState,
                function (state) {
                    return state && state.data;
                }
            ))
        );
    }

    constructor(
        protected storeActions$: Actions,
        protected store: Store<StoreState>,
    ) {}
}

也许不是因为 createSelector 总是重新运行新的 MemoizedSelector

const selectData = <b>createSelector</b>(
  this.loginState,
  function (state) {
    return state && state.data;
  }
);

@Injectable()
export class LoginSelector{

  get data$() {
    return this.store.pipe(
      select(selectData)
    );
  }

  constructor(
    protected storeActions$: Actions,
    protected store: Store<StoreState>,
  ) {}
}

谢谢你。

标签: angularngrx

解决方案


推荐阅读