【发布时间】:2021-04-28 04:53:01
【问题描述】:
您好,我正在尝试让 redux 坚持使用 redux 工具包(也在 typescript 中) 我收到以下错误:
Exported variable 'store' has or is using name '$CombinedState' from external module "home/..../node_modules/redux/index" but cannot be named.
我看到在here 之前有人问过这个问题,但也没有人回答。
以下是我的代码,如果您知道如何解决此问题,请告诉我,谢谢
import { configureStore, getDefaultMiddleware } from "@reduxjs/toolkit";
import {combineReducers} from 'redux';
import { TypedUseSelectorHook, useDispatch, useSelector } from "react-redux";
import myModuleReducer from "../../modules/my-module/redux/my-module-slice";
import myModuleTwoReducer from "../../modules/my-module-two/redux/my-module-two-slice";
import {
persistStore,
persistReducer,
FLUSH,
REHYDRATE,
PAUSE,
PERSIST,
PURGE,
REGISTER,
} from 'redux-persist'
import storage from 'redux-persist/lib/storage' // defaults to localStorage for web
const persistConfig = {
key: 'root',
storage,
}
const rootReducer = combineReducers({
myModule: myModuleReducer,
myModuleTwo: myModuleTwoReducer,
});
const persistedReducer = persistReducer(persistConfig, rootReducer)
const store = configureStore({
reducer: persistedReducer,
middleware: getDefaultMiddleware({
serializableCheck: {
ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER],
},
}),
})
export default store;
export const persistor = persistStore(store)
export type RootState = ReturnType<typeof store.getState>;
export type AppDispatch = typeof store.dispatch;
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
export const useAppDispatch = () => useDispatch<AppDispatch>();
export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;
【问题讨论】:
-
你试过在
tsconfig.json中将“strict”改为false -
嗯,试过了,没用,如果我将
declaration设置为 false 它确实可以构建,但问题是我需要声明,因为这是一个子模块,但是现在有点作品
标签: reactjs typescript redux redux-toolkit