使用redux-persist后网站无报错但白屏无法加载是什么原因?
错误定位
你在配置redux-persist的过程中,没有将经过持久化封装的reducer传入createStore生成store,导致redux-persist的初始化流程异常,<PersistGate>组件会一直处于等待状态,不会渲染内部的<App>内容,所以页面显示空白。
修复步骤
修改你的redux配置文件代码,调整createStore的入参:
原错误代码段
export default persistReducer(persistConfig, rootReducer); export const store = createStore(rootReducer); export const persistor = persistStore(store);
修正后代码段
// 先接收persistReducer返回的封装后的根reducer const persistedReducer = persistReducer(persistConfig, rootReducer) // 将封装后的reducer传入createStore export const store = createStore(persistedReducer) export const persistor = persistStore(store) // 原来的export default persistReducer(...)代码可以删除,如果你没有其他地方导入这个默认导出的话
修复完成后清理浏览器的localStorage缓存,重新启动项目即可正常渲染页面。
内容的提问来源于stack exchange,提问作者ahmad
相关产品推荐
相关产品推荐

