我目前正在使用 Redux Persist 来保持我的Redux状态为React Native . 目前正在使用AsyncStorage . 问题是我需要为我的Redux Reducer设置 initialState ,否则我会收到错误 .

当应用程序启动时,我得到的是 initialState ,而不是获取我登录的持久数据 .

不知何故,在手动导航到连接到商店的另一个页面后,我得到了我的持久数据 .

所以我只是以某种方式阻止了我的持久化数据 . 如果我删除 initialState ,那么Redux会给出一个错误,我必须为我的reducer提供一个 initialState . 这有什么解决方法吗?

编辑:

Store.js:

import { createStore, applyMiddleware, compose } from 'redux';
import { autoRehydrate } from 'redux-persist';
import Config from '../Config/DebugSettings';
import RehydrationServices from '../Services/RehydrationServices';
import ReduxPersist from '../Config/ReduxPersist';

// creates the store
export default (rootReducer) => {
  /* ------------- Redux Configuration ------------- */

  const middleware = []; //currently none
  const enhancers = [];

  /* ------------- Assemble Middleware ------------- */

  enhancers.push(applyMiddleware(...middleware))

  /* ------------- AutoRehydrate Enhancer ------------- */

  // add the autoRehydrate enhancer
  if (ReduxPersist.active) {
    enhancers.push(autoRehydrate())
  }

  // in dev mode, we'll create the store through Reactotron
  const createAppropriateStore = __DEV__ ? console.tron.createStore : createStore
  const store = createAppropriateStore(rootReducer, compose(...enhancers))

  // configure persistStore and check reducer version number
  if (ReduxPersist.active) {
    RehydrationServices.updateReducers(store)
  }

  return store
}