Да, в Redux Toolkit можно передавать параметры в middleware. Для этого можно определить middleware-функцию, которая возвращает другую функцию, которая уже принимает параметры.
Например, для динамической передачи параметра в ваш logger middleware, вы можете определить функцию createLoggerMiddleware, которая будет принимать параметр someType и возвращать middleware-функцию, которая будет использовать этот параметр:
export const createLoggerMiddleware = (someType: string): Middleware => {
return () => next => action => {
if (action.type === someType) {
alert('blabla');
}
return next(action);
};
};
Теперь в setupStore вы можете вызвать createLoggerMiddleware и передать нужный параметр:
export const setupStore = () => configureStore({
reducer: rootReducer,
middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(createLoggerMiddleware('someType')),
});
Таким образом, вы сможете динамически настраивать middleware, когда они используются в разных приложениях.