Search code examples
ngrx

What is the use of referencing appState/rootState in feature store


Trying to understand the ngrx example app, got stuck and unable to figure out its use case.

What is the importance of State in the below code taken from ngrx-example-app

export interface State extends fromRoot.State {
  [booksFeatureKey]: BooksState;
}

/** Provide reducer in AoT-compilation happy way */
export function reducers(state: BooksState | undefined, action: Action) {
  return combineReducers({
    [fromSearch.searchFeatureKey]: fromSearch.reducer,
    [fromBooks.booksFeatureKey]: fromBooks.reducer,
    [fromCollection.collectionFeatureKey]: fromCollection.reducer,
  })(state, action);
}

Solution

  • Doing this has no run-time differences, it's only to make typescript aware you "have" a root state.

    This is needed to make typescript happy if you access root state or root selectors from within your feature state selectors.