Как получить тип действия из набора инструментов - PullRequest
0 голосов
/ 12 апреля 2020

Я создал Slice с использованием createSlice из комплекта инструментов редукции и экспортировал свое действие, например:

export const { myAction } = slice.actions;

Я пытаюсь создать промежуточное ПО для перехвата какого-либо типа действия:

import myAction from './reducers/mySlice'

const MyMiddleware = store => next => action => {
  if (action.type === myAction.type) {   //this doesn't work, myAction is a function
    doSomething(action.payload);
  }
   return next(action);
};

Мне было интересно, возможно ли получить тип действия как константу из созданного мной среза?

1 Ответ

1 голос
/ 12 апреля 2020

Ваше заявление на импорт неверно. Вы делаете именованный экспорт (export {myAction}), но импорт по умолчанию (import myAction).

Измените его на import {myAction} from './reducers/mySlice', и это промежуточное программное обеспечение может работать.

Действие Создатели также имеют функцию a .match() , которую вы можете использовать:

if(myAction.match(action)) {
  // logic here
}
...