diff --git a/packages/redux-devtools-app/src/index.tsx b/packages/redux-devtools-app/src/index.tsx index 6bf3f1ae..e2c66cee 100644 --- a/packages/redux-devtools-app/src/index.tsx +++ b/packages/redux-devtools-app/src/index.tsx @@ -1,33 +1,34 @@ import React, { Component } from 'react'; import { Provider } from 'react-redux'; import { Store } from 'redux'; +import { Persistor } from 'redux-persist'; +import { PersistGate } from 'redux-persist/integration/react'; import configureStore from './store/configureStore'; import { CONNECT_REQUEST } from './constants/socketActionTypes'; import App from './containers/App'; import { StoreState } from './reducers'; -import { ConnectionOptions, StoreAction } from './actions'; +import { StoreAction } from './actions'; -interface Props { - socketOptions?: ConnectionOptions; -} - -class Root extends Component { +class Root extends Component { store?: Store; + persistor?: Persistor; UNSAFE_componentWillMount() { - this.store = configureStore(); - this.store.dispatch({ + const { store, persistor } = configureStore(); + this.store = store; + this.persistor = persistor; + store.dispatch({ type: CONNECT_REQUEST, }); - this.forceUpdate(); } render() { if (!this.store) return null; - const AppAsAny = App as any; return ( - + + + ); } diff --git a/packages/redux-devtools-app/src/store/configureStore.ts b/packages/redux-devtools-app/src/store/configureStore.ts index 2c602104..ae54266b 100644 --- a/packages/redux-devtools-app/src/store/configureStore.ts +++ b/packages/redux-devtools-app/src/store/configureStore.ts @@ -44,6 +44,6 @@ export default function configureStore() { persistedReducer as any, composeEnhancers(applyMiddleware(exportState, api)) ); - persistStore(store); - return store; + const persistor = persistStore(store); + return { store, persistor }; }