redux-presist无法更新浏览器的本地存储

时间:2019-11-13 11:48:58

标签: reactjs local-storage redux-persist

我正在将redux-persist用于我的电子商务项目。

当我将应用程序更新到新版本时,我发现了一个新错误。

我将initialState从数组更改为对象。

我在Chrome中的应用(我在其上测试并运行我的应用的浏览器)崩溃了!因为我的initialState仍然是array(NOT UPDATE),新方法未返回任何内容。 (当然)。

但是在Mozilla和其他我没有使用过的浏览器中,我的应用当前正在运行!

为什么!?

我的商店配置:

import { createStore, applyMiddleware } from 'redux'
import { persistStore } from 'redux-persist'
import logger from 'redux-logger'

import RootReducer from './RootReducer'

const middleware = [logger]

export const store = createStore(RootReducer, applyMiddleware(...middleware))

export const persistore = persistStore(store)

我的rootReducer配置:

import { combineReducers } from 'redux'
import { persistReducer } from 'redux-persist'
import storage from 'redux-persist/lib/storage'

import UserReducer from './User/UserReducer'
import ShoppingBagDropdownReducer from './ShoppingBagDropdown/ShoppingBagDropdownReducer'
import DirectoryReducer from './Directory/DirectoryReducer'
import ShopDataReducer from './ShopData/ShopDataReducer'

const persistConfig = {
    key: 'root',
    storage,
    whileList: ['shoppingBagDropdown']
}


const rootReducer = combineReducers({
    user: UserReducer,
    shoppingBagDropdown: ShoppingBagDropdownReducer,
    shopData: ShopDataReducer,
    directory: DirectoryReducer
})

export default persistReducer(persistConfig, rootReducer)

2 个答案:

答案 0 :(得分:0)

是的:)

我找到了解决方法,那就是:用:清除本地存储。

localStorage.clear();

答案 1 :(得分:0)

我看到您已对其进行了修复,但是您也可以使用Google chrome而不用编写代码。

CTRL + SHIFT + I > Application > Local Storage 

现在,您只需要打开本地存储,右键单击并单击清除即可。