title: getting undefined not an object after purging with redux-persist
body: <p>I am storing an expires token into redux-persist for authentication. I used persistor.purge(); on the store reset the redux state. Now when I load it I keep getting the error message below. I don't know how to fix this?</p>
  
  <pre><code>Unhandled promise rejection: TypeError: undefined is not an object (evaluating 'action.payload.auth')]
  * reducers/auth_reducer.js:11:45 in default
  - node_modules/redux/lib/combineReducers.js:133:36 in combination
  - node_modules/redux-persist/lib/persistReducer.js:117:39 in &lt;unknown&gt;
  - node_modules/redux/lib/createStore.js:178:36 in dispatch
  - node_modules/redux-persist/lib/persistStore.js:100:21 in rehydrate
  - node_modules/redux-persist/lib/persistReducer.js:85:27 in &lt;unknown&gt;
  - node_modules/promise/setimmediate/core.js:37:14 in tryCallOne
  - node_modules/promise/setimmediate/core.js:123:25 in &lt;unknown&gt;
  - node_modules/react-native/Libraries/Core/Timers/JSTimers.js:154:6 in _callTimer
  - node_modules/react-native/Libraries/Core/Timers/JSTimers.js:202:17 in _callImmediatesPass
  - node_modules/react-native/Libraries/Core/Timers/JSTimers.js:470:11 in callImmediates
  - node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:275:4 in __callImmediates
  - node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:140:6 in &lt;unknown&gt;
  - node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:262:6 in __guard
  - node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:139:17 in flushedQueue
  </code></pre>
  
  <p>here's my store code:</p>
  
  <pre><code>import { createStore, applyMiddleware, compose } from 'redux';
  import ReduxThunk from 'redux-thunk';
  import { AsyncStorage } from 'react-native';
  import { persistStore, persistCombineReducers } from 'redux-persist';
  //  import Reactotron from 'reactotron-react-native';
  // import { PersistGate } from 'redux-persist/lib/integration/react';
  import reducers from '../reducers';
  
  const config = {
    key: 'root',
    storage: AsyncStorage,
    whitelist: ['momentDuration', 'auth', 'storybook'],
  };
  
  //
  config.debug = true;
  const persistReducer = persistCombineReducers(config, reducers);
  
  export default function configureStore() {
    const store = createStore(
      persistReducer,
      {},
      compose(applyMiddleware(ReduxThunk)),
    );
    //  add a .purge() below;
    const persistor = persistStore(store);
    //  persistor.purge();
    return { persistor, store };
  }
  </code></pre>
  
  <p>in my reducer i am using</p>
  
  <pre><code>case 'persist/REHYDRATE':
    return ({ tokenExpires: action.payload.auth.tokenExpires } || {});
  </code></pre>