Je joue avec l'application exemple de ngrx-store https://github.com/ngrx/platform/tree/master/example-app et je n'arrive pas à comprendre un morceau de code dans le fichier "app\auth\reducers\index.ts"
export interface State extends fromRoot.State {
auth: AuthState;
}
Dans le même fichier, nous avons déjà une interface qui décrit un état
export interface AuthState {
status: fromAuth.State;
loginPage: fromLoginPage.State;
}
Alors pourquoi devrions-nous créer un autre état, et plus important encore, pourquoi ce nouvel état devrait-il étendre l'état racine?
Voici l'état racine
export interface State {
layout: fromLayout.State;
routerReducer: fromRouter.RouterReducerState;
}
N'est-ce pas que tout l'état est simplement un objet qui contient tous les états enfants, comme l'état auth et l'état des livres? Alors cela pourrait ressembler à
{
root: rootState,
auth: authState,
books: booksState
}
Ensuite, lorsque un état enfant étend l'état racine, il ajoute simplement plus d'informations à l'état enfant, qui ne lui sont pas pertinentes? Donc dans ce cas authState
et booksState
contiennent les mêmes informations que rootState
plus ses propres informations?