首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在redux-persist存储中的多个reducers上运行迁移?

如何在redux-persist存储中的多个reducers上运行迁移?
EN

Stack Overflow用户
提问于 2020-08-11 19:15:05
回答 1查看 459关注 0票数 0

我在redux-persist存储中为一个reducer编写了可用的redux-persist代码。我给出了reducer的初始状态来存储,每次更改reducer的状态结构后,我都会更新迁移编号(在本例中是25 ),它工作得很好。但我希望有多个reducers,并分别在它们上运行迁移(根据需要更新它们)。我也尝试过automergelevel2,但它不会更新嵌套状态键中的键。或者,除了应用迁移和automergelevel2之外,还有其他方法吗?

代码语言:javascript
复制
import rootReducer from "../reducers";
import {persistStore, persistReducer, createMigrate} from 'redux-persist';
import storage from 'redux-persist/lib/storage';
import {initialState} from "../reducers/authentication";
const middleware = [thunk];
const MIGRATION_DEBUG = false;
const migrations = {
    25: state => initialState
};
const persistConfig = {
    key: 'persistedReducer',
    storage: storage,
    version: 25,
    migrate: createMigrate(migrations, {debug: MIGRATION_DEBUG}),
    whitelist: [
        'authentication',
    ]
};

const persistedReducer = persistReducer(persistConfig, rootReducer);

const store = createStore(persistedReducer, composeWithDevTools(applyMiddleware(...middleware)));
const persistor = persistStore(store);
export {persistor, store}
EN

回答 1

Stack Overflow用户

发布于 2021-02-09 18:59:05

关于多个reducer迁移问题,我已经尝试了-失败-成功了一周,下面是我得到的解决方案。

创建一个包含在一个“rootReducer”中的reducer列表的唯一persistingReducer将不允许您单独迁移任何特定的reducer。

为了将来证明在您的任何单个reducer上的任何迁移,您应该用它们自己的persistedReducer和persistConfig包装它们。

代码语言:javascript
复制
import { createStore, combineReducers } from 'react-redux';
import { persistStore, persistReducer } from 'redux-persist';
import { r1Config, reducer1 } from './reducer1';
import { r2Config, reducer2 } from './reducer2';

const allReducers = combineReducers({
  r1: persistReducer(r1Config, reducer1),
  r2: persistReducer(r2Config, reducer2)
});

const store = createStore(allReducers);
const persistor = persistStore(store);

然后,您可以使用它们可以理解的“迁移”对象来管理每个reducer的迁移。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63357004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档