如何从redux工具箱中获取操作类型



我使用redux工具箱中的createSlice创建了一个Slice,并导出了我的操作,如:

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);
};

我想知道是否可以从我创建的切片中获得动作类型作为常量?

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

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

动作创建者还附带了一个.match()功能,您可以使用:

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

最新更新