小编Dre*_*rew的帖子

使用 preloadedState 时生成 Redux Toolkit TypeScript 类型

我正在尝试设置包含 React 测试库、Redux 工具包、RTK 查询和 TypeScript 的测试环境,但遇到了无法解决的问题。

我无法弄清楚的主要问题是AppDispatch如何提供preloadedState.

按照 RTK 文档configureStore()直接使用是没有问题的,因为商店是在模块内部创建的:

const store = configureStore({
  reducer: {
    home: homeReducer,
    [homeApi.reducerPath]: homeApi.reducer,
  },
  middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(
    homeApi.middleware,
  ),
});

export type RootState = ReturnType<typeof store.reducer>;
export type AppDispatch = typeof store.dispatch; // not a problem as store exists here

export const useAppDispatch = () => useDispatch<AppDispatch>();
export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;

export default store;
Run Code Online (Sandbox Code Playgroud)

但是,这样做会导致难以将preloadedState值传递给configureStore()生成的类型并保留生成的类型。如果我提取减速器并使用combineReducers()我可以 …

typescript redux redux-toolkit

3
推荐指数
1
解决办法
915
查看次数

标签 统计

redux ×1

redux-toolkit ×1

typescript ×1