Я смотрю на унаследованный код, и они создали все редукционные редукторы как методы экземпляров класса:
@Injectable()
export class PeopleActions {
constructor(private ngRedux: NgRedux<any>) {}
add() {
this.ngRedux.dispatch({ADD, payload: {foo: 'bar;});
}
remove() {
this.ngRedux.dispatch({Remove, payload: {foo: 'bar;});
}
// etc.
Я бы обычно создавал их как отдельные функции
export function add { // etc.}
export function remove { // etc.}
А затем создайте объединение:
type MyActions = add | remove;
Можно ли как-нибудь создать объединение методов экземпляра класса?