Sur ce Dans un article sur medium.com (13 février) concernant NGRX 5, ils présentent des sélecteurs "pipeables". Cela me rappelle ce que j'ai lu sur les sélecteurs canalisables dans rxjs où ils ne pouvaient pas seulement être justifiés par "c'est une pure fonction, mon frère", mais aussi par la façon dont les fonctions pouvaient être déclarées et réutilisées dans différentes occurrences sans utiliser map à chaque fois pour ensuite appeler une fonction letable.
Je suis donc d'accord pour dire que c'est une bonne chose dans rxjs, mais pourquoi en aurions-nous besoin dans ngrx - pour les sélecteurs. L'article lié montre l'exemple suivant :
import { Store, select } from '@ngrx/store';
import { Observable } from 'rxjs/Observable';
interface AppState {
count: number;
}
@Component({
selector: 'my-app',
template: `
<button (click)="increment()">Increment</button>
<div>Current Count: {{ count$ | async }}</div>
<button (click)="decrement()">Decrement</button>
<button (click)="reset()">Reset Counter</button>
`
})
export class MyAppComponent {
count$: Observable<number>;
constructor(private store: Store<AppState>) {
this.count$ = store.pipe(select('count'));
}
}
Nous appelons donc maintenant store.pipe(select(...));
au lieu de store.select(Selector);
- où sont les gains ? pourquoi devrais-je changer mon code pour utiliser ce comportement ou au moins commencer à utiliser des sélecteurs canalisables ?