filter - without - Donde filtrar el estado?
wp_title without separator (1)
Pregunta de novato: Tengo una aplicación angular2 usando ngrx, tengo un servicio que devuelve el estado (matriz de observables) a un componente.
Mi pregunta es: ¿dónde filtrar el estado si quiero que se use un subconjunto de solo lectura en el componente?
¿Lo hago en el reductor, servicio o componente?
Puede encontrar alguna guía en la aplicación de ejemplo ngrx . Hay un patrón en el que los selectores se definen junto a los reductores :
/**
* Because the data structure is defined within the reducer it is optimal to
* locate our selector functions at this level. If store is to be thought of
* as a database, and reducers the tables, selectors can be considered the
* queries into said database. Remember to keep your selectors small and
* focused so they can be combined and composed to fit each particular
* use-case.
*/
export function getBookEntities() {
return (state$: Observable<BooksState>) => state$
.select(s => s.entities);
};
Y esos selectores se usan en componentes (inteligentes) para seleccionar / filtrar el estado:
...
export class CollectionPage {
books$: Observable<BooksInput>;
constructor(store: Store<AppState>) {
this.books$ = store.let(getBookCollection());
}
}
Este patrón / mecanismo podría usarse para filtrar el estado en componentes o servicios, lo que mejor se adapte a su arquitectura.