reactjs - 使用 redux-persist 后操作不起作用
问题描述
我正在使用 redux saga 作为 react 项目的中间件。在我转移到 redux-persist 库以使我的状态在整个组件中持久化之前,一切都运行良好。但是 saga 动作的行为在那之后变得有点不可预测。之前调度的动作不会在加载组件时调度,尽管状态已经变得持久。
这是我为将 redux-persist 集成到我的项目中所做的两个文件的更改:
store.js
import { persistStore,persistReducer } from 'redux-persist';
import storage from 'redux-persist/lib/storage';
const sagaMiddleware = createSagaMiddleware();
const persistConfig = {
key: 'root',
storage,
stateReconciler: autoMergeLevel2,
};
const persistedReducer=persistReducer(persistConfig,rootReducer);
const configureStore = (initialState={x:'dd'},) => {
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
return {
...createStore(persistedReducer,composeEnhancers(applyMiddleware(sagaMiddleware))),
runSaga:sagaMiddleware.run(rootSaga)
}
};
export default configureStore;
应用程序.js
import {PersistGate } from 'redux-persist/es/integration/react';
//import {persistor} from '../reducers/store';
import { persistStore, } from 'redux-persist';
const store = configureStore()
let persistor= persistStore(store);
//const store = configureStore()
class App extends React.Component {
render() {
return(
<Provider store={store}>
<PersistGate persistor={persistor}>
<AppNavbar/> <Header />
<div>
<NotificationContainer/>
<BrowserRouter>
<Switch>
<Route path='/' component={AppRoutes} />
</Switch>
</BrowserRouter>
</div>
</PersistGate>
</Provider>
)
}
}
我在这里有什么遗漏吗,我应该关心的任何技术性问题。我卡了很长时间,请帮忙。
解决方案
推荐阅读
- reactjs - react-native:如何将 Object.assign 的输出转换为有效的 json 格式?
- apache-spark - 从 Kafka 读取时 Pyspark 结构化流中的异常
- visual-studio-code - 自动关闭 HTML 标记未触发
- javascript - 将 ReactJS 拆分为多个程序集
- java - 当相机移动时,我的平铺地图游戏一直在瓷砖边缘闪烁
- python - Python 请求标头。如何解析这个?ast 的语法无效?
- javascript - 多个数据库删除,只有一个注册了云功能
- php - 如何确保从贝宝服务器调用贝宝 notify_url?
- java - 尝试使用 /usr/share/java 作为 ubuntu 中 java 模块的模块路径时出现问题
- reactjs - Redux 连接函数与容器组件或表示组件