AR
NGXS библиотека появилась 13 февраля 2018 года, ее разработчик — Остин Макдэниэл, сделал прекрасную вещь, которая использует концепцию Redux, шаблон проектирования CQRS, описанный Мартином Фаулером и следует архитектурному подходу Angular.
Пример из NGXS, кствти, мне кажется angular way. Сразу понятна механика
import { Select } from '@ngxs/store';
import { ZooState, ZooStateModel } from './zoo.state';
@Component({ ... })
export class ZooComponent {
// Reads the name of the state from the state class
@Select(ZooState) animals$: Observable<string[]>;
// Uses the pandas memoized selector to only return pandas
@Select(ZooState.pandas) pandas$: Observable<string[]>;
// Also accepts a function like our select method
@Select(state => state.zoo.animals) animals$: Observable<string[]>;
// Reads the name of the state from the parameter
@Select() zoo$: Observable<ZooStateModel>;
}