我正在将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)
答案 0 :(得分:0)
是的:)
我找到了解决方法,那就是:用:清除本地存储。
localStorage.clear();
答案 1 :(得分:0)
我看到您已对其进行了修复,但是您也可以使用Google chrome而不用编写代码。
CTRL + SHIFT + I > Application > Local Storage
现在,您只需要打开本地存储,右键单击并单击清除即可。