Redux离线问题,Reducing Reducer为Null

时间:2018-10-11 08:31:02

标签: reactjs react-native redux redux-persist redux-offline

我正在使用 redux-offline ,以下是我创建商店的方式


let customConfig = {
    ...offlineConfig,
    persistOptions:{
        key: 'root',
        transforms: [immutableTransform()],
    },
    returnPromises : false,
    persistCallback : () => {this.setState({rehydrated : true})}
};

const { middleware, enhanceReducer, enhanceStore } = createOffline(customConfig);
let middlewares = applyMiddleware(offlineCommitHandler,thunk,middleware,);
store = createStore(enhanceReducer(IndexReducer),undefined,compose(enhanceStore,middlewares,persistAutoRehydrate({log:true})));

我有多个减速器。

问题仅在给一台减速器补水时发生,例如:reducerA

我在autoRehydrate中放置了一个调试器

  • 首次打开应用程序时,它将合并化为reduceA的数据
  • 在第二次打开应用程序时,reducerA的入站状态为

2 个答案:

答案 0 :(得分:0)

我从未进行过离线配置,但是遇到了redux-persist的类似问题。 因此,首先,您要确保调试器和设备/仿真器没有及时消失。这将一直带来我的问题,只需重新启动我用于调试的模拟器和chrome标签即可解决该问题。 其次,您要检查减速器是否没有任何错误。就我而言,我没有遵循不变性模式,这有时会导致redux不能保持我的状态,因为它看不到旧状态和新状态之间的任何区别。

答案 1 :(得分:0)

对于寻求类似问题答案的任何人。

我的问题是我要存储的数据达到asyncStorage的最大存储限制。

https://github.com/rt2zz/redux-persist/issues/199

我不得不转向使用filetorage而不是asyncStorage来使redux持久存储数据