如何从Redux工具包获取操作类型

时间:2020-04-12 13:44:47

标签: redux redux-toolkit

我从redux工具包中使用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 个答案:

答案 0 :(得分:1)

您的导入语句错误。您正在执行命名导出(export {myAction}),但是正在执行默认导入(import myAction)。

将其更改为import {myAction} from './reducers/mySlice',该中间件应该可以工作。

动作创建者还可以使用a .match() function attached

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