【发布时间】:2021-06-12 09:38:08
【问题描述】:
设置中间件时出现以下错误。使用 Redux observable/Redux 工具包。 关于为什么会发生这种情况的任何意见?
按照以下回购设置。 https://github.com/beast911/react-redux-observables-typescript
import systemReducer, {
getInfoStart,
getInfoSuccess,
getInfoFailed,
addInfoStart,
addInfoSuccess,
addInfoFailed,
editInfoStart,
editInfoSuccess,
editInfoFailed,
deleteInfoStart,
deleteInfoSuccess,
deleteInfoFailed,
completeInfoStart,
completeInfoSuccess,
completeInfoFailed,
} from "./system/slice";
import {
combineReducers,
configureStore,
getDefaultMiddleware,
} from "@reduxjs/toolkit";
import { createBrowserHistory } from "history";
import { combineEpics, createEpicMiddleware } from "redux-observable";
import {
getInfoEpic,
addInfoEpic,
completeInfoEpic,
deleteInfoEpic,
editInfoEpic,
} from "./system/epics";
import { ActionType } from "typesafe-actions";
import {
connectRouter,
routerMiddleware,
RouterState,
} from "connected-react-router";
type SystemActionsWithPayload =
| typeof getInfoStart
| typeof getInfoSuccess
| typeof getInfoFailed
| typeof addInfoStart
| typeof addInfoSuccess
| typeof addInfoFailed
| typeof editInfoStart
| typeof editInfoSuccess
| typeof editInfoFailed
| typeof deleteInfoStart
| typeof deleteInfoSuccess
| typeof deleteInfoFailed
| typeof completeInfoStart
| typeof completeInfoSuccess
| typeof completeInfoFailed;
type SystemActions = ActionType<SystemActionsWithPayload>;
type finalActions = SystemActions;
const epics = combineEpics(
getInfoEpic,
addInfoEpic,
completeInfoEpic,
deleteInfoEpic,
editInfoEpic
);
export const history = createBrowserHistory<RouterState>();
export const rootReducer = combineReducers({
router: connectRouter(history),
system: systemReducer,
});
export type RootState = ReturnType<typeof rootReducer>;
const epicMiddleware = createEpicMiddleware<
finalActions, // input actions
finalActions, // output actions
RootState
>();
function configureAppStore(initialState?: any) {
// configure middlewares
const middlewares = [routerMiddleware(history), epicMiddleware];
// create store
return configureStore<RootState>({
reducer: rootReducer,
middleware: middlewares,
preloadedState: initialState,
});
}
export const store = configureAppStore();
epicMiddleware.run(epics);
类型 'Middleware[]' 不可分配给类型 '[ThunkMiddleware
;系统:任务状态; }>,AnyAction,空> | ThunkMiddleware<...>] | ((getDefaultMiddleware: CurriedGetDefaultMiddleware<...>) => [...]) |不明确的'。 'Middleware[]' 类型中缺少属性'0',但在'[ThunkMiddleware ; 类型中是必需的;系统:任务状态; }>,AnyAction,空> | ThunkMiddleware<...>]'
【问题讨论】:
标签: typescript redux middleware redux-observable redux-toolkit