获取警告消息 'getDefaultMiddleware' 已弃用

Getting warning message 'getDefaultMiddleware' is deprecated

我在更新后收到 getDefaultMiddleware is deprecated 警告 "@reduxjs/toolkit": "^1.6.1" 那么我应该如何删除此警告。我们还有其他方法可以在 configureStore 函数中注入默认中间件吗?

import { configureStore, getDefaultMiddleware } from "@reduxjs/toolkit";
import reducer from "./reducer";
import api from "./middleware/api";
export default function storeConfigure() {
   const store = configureStore({
   reducer,
   middleware: [
      ...getDefaultMiddleware(), 
      api
    ],
  });
  return store;
}

感谢任何帮助!

configureStore 中的 middleware 选项接受一个回调函数,并且该回调函数将被赋予 getDefaultMiddleware 作为其参数:

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

使用它而不是单独导入的版本。

可以这样使用:

const store = configureStore({
  reducer,
  middleware: (getDefaultMiddleware) => [...getDefaultMiddleware(), api],
})

一个回调return一个中间件数组,它会更清晰易读。