ant-design / ant-design-pro

👨🏻‍💻👩🏻‍💻 Use Ant Design like a Pro!
https://pro.ant.design
MIT License
36.34k stars 8.14k forks source link

🧐antdpro 的Dva 怎么配置react-persist 数据持久化 #6001

Closed OxYancy closed 4 years ago

OxYancy commented 4 years ago

antdpro 的Dva 怎么配置react-persist

yezongyang commented 4 years ago
// app.js文件
import { persistStore, persistReducer } from 'redux-persist';
import storageSession from 'redux-persist/lib/storage/session';

export const dva = {
  config: {
    onError(e) {
      e.preventDefault();
    },
    onReducer(reducer) {
      const persistConfig = {
        key: 'root',
        storage: storageSession,
        whitelist: ['global']
      };
      return persistReducer(persistConfig, reducer);
    }
  }
};

window.addEventListener('DOMContentLoaded', () => {
  /* eslint-disable no-underscore-dangle */
  persistStore(window.g_app._store);
});
liuhong1happy commented 4 years ago

没有找到app.js 啊

yezongyang commented 4 years ago

umi3 稍微有点差异

import { getDvaApp } from 'umi'
import { persistStore, persistReducer } from 'redux-persist'
import storage from 'redux-persist/lib/storage'

export const dva = {
  config: {
    onError(e) {
      e.preventDefault()
    },
    onReducer(reducer) {
      const persistConfig = {
        key: 'root',
        storage,
        whitelist: ['global']
      }
      return persistReducer(persistConfig, reducer)
    }
  }
}

window.addEventListener('DOMContentLoaded', () => {
  const app = getDvaApp()
  // eslint-disable-next-line no-underscore-dangle
  persistStore(app._store)
})
twotwoba commented 3 years ago

umi3 我这样配置在app.ts中没有效果, 我甚至放到了app.tsx中也没起作用

Heqingsong commented 3 years ago

@ykmind 请问这个问题你解决了吗?

twotwoba commented 3 years ago

@ykmind 请问这个问题你解决了吗?

no🤣

QShengW commented 3 years ago

我也想知道

wxf-start commented 3 years ago

有人解决吗??

LiuJiangshan commented 3 years ago

https://github.com/umijs/umi/issues/249

gengkeke commented 2 years ago

umi3 antdpro v5 getDvaApp() null