Использование действий @ ngrx / router-store с функциями ngrx 8 createReducer () и on () - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть редуктор в стиле ngrx v8 (с использованием createReducer + on), который должен реагировать на изменения маршрута.

let myAcction = createAction('my action', prop<boolean>);

let reducer = createReducer(
  initialState,
  on(myAction, (state, prop) => ({...state, example=prop })),
  on(ROUTER_NAVIGATION, (state, routeParams) => ({...state, example2:{...routeParams}}))
)

Не удается скомпилировать, поскольку ROUTER_NAVIGATION не является создателем действия:

Аргумент типа «@ ngrx / router-store / navigation» не может быть назначен параметру типа «ActionCreator>».Тип «@ ngrx / router-store / navigation» не может быть назначен типу «FunctionWithParametersType»

Он также не работает с RouterNavigationAction:

Аргументтипа 'boolean' нельзя назначить параметру типа 'ActionCreator>'

Как я могу использовать действия ngrx / router-store в функциях createReducer / on?Я не могу найти создателей действий, экспортированных для данных действий.

1 Ответ

0 голосов
/ 20 сентября 2019

Я бы подал проблему с ngrx в их хранилище.Тем временем вы можете взломать его, используя токен в объекте: { type: ROUTER_NAVIGATION }, так как он работает под капотом.Это не идеально, но работает, пока они не исправят это.

...