我正在尝试将RTK-Query中间件添加到嵌套存储结构中,当我添加api中间件时,我得到了一个非常长的、非描述性的typescript错误...
下面是我的代码:
export const rootReducer = combineReducers({
foo: fooReducer,
nested: combineReducers({
bar: barReducer,
[myFooApi.reducerPath]: myFooApi.reducer,
})
});
const store = configureStore({
reducer: rootReducer,
middleware: (getDefaultMiddleware) => // Getting TS2322 error: type is not assignable to type...
getDefaultMiddleware().concat(tokenListsApi.middleware)
});当我将[fooApi.reducerPath]移到缩减程序的根目录时,错误消失了,如下所示:
export const rootReducer = combineReducers({
foo: fooReducer,
bar: barReducer,
[fooApi.reducerPath]: fooApi.reducer,
});我正在寻找RTK-Query Api reducer的嵌套用法的示例,但找不到任何...我遗漏了什么?
发布于 2021-10-05 16:07:40
这个问题已经在一个问题上得到了回答,但对于后代来说:
RTK查询要求所有API切片缩减程序都设置为根状态的顶级切片,没有嵌套。RTKQ通过TS类型和运行时检查来实施这一点。因此,这里的修复方法是将[fooApi.reducerPath]: fooApi.reducer向上移动到状态树的根。
https://stackoverflow.com/questions/69443830
复制相似问题