如何让TypeScript编译器自动推断getDefaultMiddleware类型?解决隐式any错误
解决Redux Toolkit中getDefaultMiddleware隐式any类型问题
你的问题出在middleware配置的位置错误:它应该作为configureStore的顶层配置项,而非嵌套在rootReducer对象里。这种错误写法导致TypeScript无法识别函数的上下文,因此无法自动推断getDefaultMiddleware的类型。
另外需要注意:getDefaultMiddleware是一个函数,必须调用它(添加())才能获取默认中间件数组,你原代码里漏了这一步。
修正后的代码如下:
import { configureStore } from '@reduxjs/toolkit'; import uiStateReducer from './ui_state'; import logger from 'redux-logger'; const rootReducer = { uiState: uiStateReducer, }; const store = configureStore({ reducer: rootReducer, middleware: (getDefaultMiddleware) => { return getDefaultMiddleware().concat(logger) } });
调整后,TypeScript会依据configureStore的内置类型定义,自动推断getDefaultMiddleware的参数类型,无需手动标注。
内容的提问来源于stack exchange,提问作者freddips
相关产品推荐
相关产品推荐

