为什么我得到:“AppThunk<void>”类型的参数不能分配给“AnyAction”类型的参数?

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

“AppThunk”类型的参数不可分配给“AnyAction”类型的参数。

我正在开发一个 React/TypeScript 应用程序。它是使用 create-react-app 和 TypeScript - Redux 模板构建的。我没有对演示中的计数器功能中的任何内容进行任何代码更改。我 npm 安装了 redux-logger,只需将其添加为

src/app/store.ts
中的中间件就会导致我的代码中断
src/features/counter/Counter.tsx

我已将代码推送到 GitHub,并创建了一个沙箱: https://codesandbox.io/p/github/dwaynedraper/frontend-react-demo/master?file=%2Fsrc%2Ffeatures%2Fcounter%2FCounter.tsx 这应该会打开有问题的页面。

我不知道该尝试什么。

我确实检查过,以确保我根据文档使用正确类型的钩子进行调度。事实上,这是直接来自 create-react-app 的代码,它与 redux-logger 中间件中断。

我还尝试对代码中提到的类型进行全局搜索,但在搜索中没有得到任何结果。我无法弄清楚导致此问题的输入来自何处。

reactjs typescript redux redux-logger
1个回答
1
投票

在您的商店配置中


export const store = configureStore({
  reducer: {
    counter: counterReducer,
    auth: authReducer,
  },
  devTools: true,
  middleware: [logger],
});

您将所有预先存在的中间件(包括 redux-thunk)替换为 only

logger

改为这样做:


export const store = configureStore({
  reducer: {
    counter: counterReducer,
    auth: authReducer,
  },
  devTools: true,
  middleware: getDefaultMiddleware => getDefaultMiddleware().concat(logger),
});

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