14

更新后我收到一个getDefaultMiddleware不推荐使用的警告"@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;
}

任何帮助表示感谢!

4

2 回答 2

30

中的middleware选项configureStore接受一个回调函数,该回调将getDefaultMiddleware作为其参数给出:

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

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

于 2021-07-22T14:42:52.523 回答
6

可以这样使用:

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

回调返回一个中间件数组,它会更简洁易读。

于 2021-09-16T14:40:07.160 回答