我试图按照官方文档使用 redux 工具包在现有的 React 项目中设置 redux。
我尝试配置中间件
import { configureStore, MiddlewareArray } from '@reduxjs/toolkit'
configureStore({
reducer: rootReducer,
middleware: new MiddlewareArray().concat(logger),
})
configureStore({
reducer: rootReducer,
middleware: [logger] as const,
})
但是,我收到以下错误。
我尝试过https://stackoverflow.com/a/68486869,但没有帮助
有人可以帮忙吗
嗯。从理论上讲,这两个示例看起来都应该“运行”。 但它们都不是我们在文档中展示或推荐的内容。 “正确”答案应该是:
configureStore({
reducer: rootReducer,
middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(logger)
})
您永远不必自己打电话给
new MiddlewareArray()
。 这是已经从
getDefaultMiddleware()
返回的类型。 您通常也不想这样做 [someMiddleware]
,因为这意味着不会包含任何默认中间件。const persistedReducer = persistReducer(persistConfig, reducers);
const store = configureStore({reducer: persistedReducer, middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(thunk),});