fb-test-module
Version:
How to use: ``` import {store, getStore} from 'fb-test-module'; conf.DialogramApi = "API_BASE_URL"; conf.Platform = "mobile"; //use "web" if you are on webApp getStore(); //Inject store in your provider ``` and you'r readyt to go. # Base ## Act
55 lines (37 loc) • 1.4 kB
text/typescript
//https://github.com/nearform/react-redux-typescript-saga-immutable/blob/master/src/store.ts
import { combineReducers, createStore, applyMiddleware, compose } from 'redux';
import { persistReducer } from 'redux-persist';
import storage from 'redux-persist/lib/storage';
import immutableTransform from 'redux-persist-transform-immutable';
import createSagaMiddleware from 'redux-saga';
import { rootSaga } from './saga';
import { sessionReducer } from './Session/Reducer';
import { videoReducer } from './Videos/Reducer';
import { userReducer } from './User/Reducer';
export function nativeStore() {
const sagaMiddleware = createSagaMiddleware();
const reducer = combineReducers({
session: sessionReducer,
videos: videoReducer,
user: userReducer,
});
const persistConfig = {
key: 'root',
storage,
transforms: [immutableTransform()],
whitelist: [
'session',
'user'
],
};
const persistedReducer = persistReducer(persistConfig, reducer);
const middlewares = [sagaMiddleware];
const composeEnhancers = window['__REDUX_DEVTOOLS_EXTENSION_COMPOSE__'] as typeof compose || compose;
const nativeStore = createStore(
persistedReducer,
composeEnhancers(applyMiddleware(...middlewares))
);
sagaMiddleware.run(rootSaga);
console.log("native");
return nativeStore;
}