如何从 redux 工具包中获取操作类型
How to get the action type from redux toolkit
我使用 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'
,该中间件应该可以工作。
动作创作者还有 a .match()
function attached 可供您使用:
if(myAction.match(action)) {
// logic here
}
我使用 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'
,该中间件应该可以工作。
动作创作者还有 a .match()
function attached 可供您使用:
if(myAction.match(action)) {
// logic here
}