Как использовать метод CreateReducer в ActionReducerMap <State>объект? - PullRequest
0 голосов
/ 23 октября 2019

Я хочу создать редуктор методом CreateReducer, но я не понимаю, почему он не работает.

Я пытался изменить класс State, но я думаю, что это не тот путь.

export const reducers: ActionReducerMap<State> = {
  productsReducer: createReducer(initialState, on(ProductListActions.toggleImage), state => )
};

Аргумент типа '(state: any) => any' не может быть назначен параметру типа 'On'. Тип «(состояние: любой) => любой» отсутствует тип свойства «Вкл»: редуктор, типы

1 Ответ

0 голосов
/ 23 октября 2019

Потому что вы неправильно используете скобки. Снимите скобу после toggleImage и используйте ее после функции. Вы можете увидеть проблему, если будете чаще использовать отступы. И вы также должны вернуть состояние, потому что редуктор - это функция, которая применяет действие к состоянию и впоследствии возвращает новое состояние.

export const reducers: ActionReducerMap<State> = {
  productsReducer: createReducer(
    initialState,
    on(ProductListActions.toggleImage, state => state) // <-- This ) is missing and removed after toggleImage
  )
};

В дополнение к этому вы захотите обернуть егов другую функцию, иначе компилятор AOT выдаст ошибку. См. документы и эту запись .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...