Redux Persist + Redux 工具包 $CombinedState 错误

Posted

技术标签:

【中文标题】Redux Persist + Redux 工具包 $CombinedState 错误【英文标题】:Redux Persist + Redux toolkit $CombinedState error 【发布时间】:2021-06-03 14:37:03 【问题描述】:

我正在尝试将 redux persist 添加到 redux 工具包,但由于某种原因,我在 vscode 上收到 Exported variable 'store' has or is using name '$CombinedState' from external module ".../node_modules/redux/index" but cannot be named. 错误。

这是我的商店配置文件,其中添加了持久配置,如果我将其删除,则可以正常工作。

import  configureStore  from "@reduxjs/toolkit";
import  persistReducer  from "redux-persist";
import storage from "redux-persist/lib/storage";
import  createEpicMiddleware  from "redux-observable";
import rootEpic from "onsite/redux/rootEpic";
import rootReducer from "onsite/redux/rootReducer";

const epicMiddleware = createEpicMiddleware();

const persistConfig = 
  key: "root",
  storage: storage,
;

const persistedReducer = persistReducer(persistConfig, rootReducer);

// Line that shows error
const store = configureStore(
  reducer: persistedReducer,
  middleware: [epicMiddleware],
);

export default store;

epicMiddleware.run(rootEpic);

我尝试过的其他事情是将combineReducers 声明(来自rootReducerimport)放入同一个文件或将文件转换为纯javascript,结果相同或相似。出于某种原因,打字稿决定仍然困扰着我的 javascript 文件:)

代码仍在运行,所以我很想就这样离开它,但我想摆脱它。

【问题讨论】:

你解决了吗?我有一个 monorepo 并将所有 react-scripts deps 从 3 更新到 4,并且在我的 tsconfig 上有 declaration: true 的任何地方都出现此错误 留下错误,因为代码还在运行哈哈 我有同样的问题,也有declaration: true,但我有点需要它,我的代码没有运行,有什么建议或解决方法吗? 【参考方案1】:

添加一个

import  $CombinedState  from '@reduxjs/toolkit'

在该文件中通常应该解决该错误。

【讨论】:

以上是关于Redux Persist + Redux 工具包 $CombinedState 错误的主要内容,如果未能解决你的问题,请参考以下文章

Redux-Persist安全加密

使用 connect 与 react-redux 和 redux-persist

为啥 Redux-Persist 不持久化存储

无法让 React-redux 与 redux-persist 一起使用

Redux-persist 没有更新状态

如何防止 redux-persist 在用户允许之前使用 LocalStorage?