gpt4 book ai didi

reactjs - 坚持:root localstorate data is not being cleared on logout

转载 作者:行者123 更新时间:2023-12-05 06:56:35 29 4
gpt4 key购买 nike

Reactjs 和 redux 来创建应用程序。我已将 reducer 数据连接到 localStorage persist:root 变量。现在尝试在注销时删除 persist:root 但失败了。从网上尝试了很多解决方案,现在代码如下所示。但仍然没有工作。请帮忙。

reducer :

import {applyMiddleware, createStore} from 'redux';
import createSagaMiddleware from 'redux-saga';
import {persistStore, persistReducer} from 'redux-persist';
import autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';
import storage from 'redux-persist/lib/storage';
import logger from 'redux-logger';
// eslint-disable-next-line import/no-cycle
import rootReducer from '../redux/reducers';
// eslint-disable-next-line import/no-cycle
import rootSaga from '../redux/sagas';

const persistConfig = {
key: 'root',
storage,
stateReconciler: autoMergeLevel2
};

const bindMiddleware = (middleware) => {
return applyMiddleware(...middleware);
};

const sagaMiddleware = createSagaMiddleware();

export const store = createStore(
persistReducer(persistConfig, rootReducer),
bindMiddleware([sagaMiddleware])
);
sagaMiddleware.run(rootSaga);

export const persistor = persistStore(store);

商店:


import { combineReducers } from "redux";
import commonReducer from "./common";
import loginReducer from "./auth/login";
import companyReducer from "./company"
import processReducer from "./process"
import notificationReducer from "./notification"
import recentProgressReducer from "./recentProgress"
import projectManagementReducer from "./projectManagement";
import stepManagementReducer from "./stepManagement";
import memberManagementReducer from "./memberManagement";

const appReducer = combineReducers({
commonReducer,
processReducer,
companyReducer,
notificationReducer,
loginReducer,
recentProgressReducer,
projectManagementReducer,
stepManagementReducer,
memberManagementReducer
});
export default (state, action) => {
if (action.type === "SIGNOUT_REQUEST") {
localStorage.removeItem('persist:root')
return appReducer(undefined, action);
}else{
return appReducer(state, action);
}
};

这是行不通的。请帮忙

最佳答案

persist:root 不会被删除,因为“redux-persist”需要它来检索。不要试图删除它,就像您对 appReducer(undefined, action); 所做的那样,让您的状态为空。

关于reactjs - 坚持:root localstorate data is not being cleared on logout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65094336/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com