Skip to content

Instantly share code, notes, and snippets.

@ricardokdz
Created May 15, 2018 22:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ricardokdz/206b3a43ffc79ba8feb82a18f6b507fe to your computer and use it in GitHub Desktop.
Save ricardokdz/206b3a43ffc79ba8feb82a18f6b507fe to your computer and use it in GitHub Desktop.
import {AsyncStorage} from 'react-native'
import {compose, createStore, applyMiddleware} from 'redux'
import {reactReduxFirebase, firebaseStateReducer} from 'react-redux-firebase'
import {Provider} from 'react-redux'
import ReduxThunk from 'redux-thunk'
import promiseMiddleware from 'redux-promise'
import {createLogger} from 'redux-logger'
import {getStoredState, persistStore, autoRehydrate} from 'redux-persist'
import reducers from './reducers'
const logger = createLogger({
collapsed: true
})
const firebase = {
//
}
import Reactotron from 'reactotron-react-native'
import {reactotronRedux} from 'reactotron-redux'
Reactotron
.configure()
.use(reactotronRedux())
.connect()
const createStoreWithFirebase = compose(
applyMiddleware(ReduxThunk, promiseMiddleware, logger),
autoRehydrate(),
reactReduxFirebase(firebase, { userProfile: 'users', enableRedirectHandling: false})
)(createStore)
const store = createStoreWithFirebase(reducers, undefined)
persistStore(store, {storage: AsyncStorage, whitelist: ['auth', 'map']}, () => {
console.info('Rehydration complete. Initial state ->>', store.getState().auth)
store.dispatch({
type: 'APP_LOADED'
})
})//.purge()
export default store
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment