什么是ngrx createSelector和createFeautureSelector?

Kar*_*rty 11 ngrx ngrx-store ngrx-store-4.0

我一直在阅读ngrx示例应用程序的代码并找到两个函数调用

  1. createFeatureSelector<AuthState>('auth');

  1. createSelector(selectAuthState,(state: AuthState) => state.status);

这是做什么的?

export const selectAuthState = createFeatureSelector<AuthState>('auth');

export const selectAuthStatusState = createSelector(
  selectAuthState,
  (state: AuthState) => state.status
);
Run Code Online (Sandbox Code Playgroud)

dee*_* zg 13

它用作存储切片选择的优化步骤.例如,如果你为某些商店切片返回一些繁重的计算结果,那么使用 createSelector将执行memoization,这意味着它将跟踪选择器的最后输入参数,如果它们与当前的相同,它将立即返回最后的结果而不是重复计算.

ref:https://github.com/ngrx/platform/blob/master/docs/store/selectors.md

  • 对于来自第一个搜索结果的任何人,我建议阅读此内容以获取详细说明 https://ultimatecourses.com/blog/ngrx-store-understanding-state-selectors (5认同)