错误 - [Redux-Toolkit] - 提供给configureStore的每个中间件都必须是一个函数

问题描述 投票:0回答:2

我试图按照官方文档使用 redux 工具包在现有的 React 项目中设置 redux。

我尝试配置中间件

import { configureStore, MiddlewareArray } from '@reduxjs/toolkit'

configureStore({
  reducer: rootReducer,
  middleware: new MiddlewareArray().concat(logger),
})

configureStore({
  reducer: rootReducer,
  middleware: [logger] as const,
})

但是,我收到以下错误。

enter image description here

我尝试过https://stackoverflow.com/a/68486869,但没有帮助

有人可以帮忙吗

redux react-redux redux-toolkit
2个回答
3
投票

嗯。从理论上讲,这两个示例看起来都应该“运行”。 但它们都不是我们在文档中展示或推荐的内容。 “正确”答案应该是:

configureStore({ reducer: rootReducer, middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(logger) })

您永远不必自己打电话给
new MiddlewareArray()

。 这是已经从

getDefaultMiddleware()
返回的类型。 您通常也不想这样做
[someMiddleware]
,因为这意味着不会包含任何默认中间件。
    


0
投票

const persistedReducer = persistReducer(persistConfig, reducers); const store = configureStore({reducer: persistedReducer, middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(thunk),});

	
© www.soinside.com 2019 - 2024. All rights reserved.