1
1
import { compose , createStore , applyMiddleware } from 'redux' ;
2
- import { persistReducer , persistStore } from 'redux-persist' ;
3
- import createEncryptor from 'redux-persist-transform-encrypt' ;
4
- import md5 from 'md5' ;
5
- import DeviceInfo from 'react-native-device-info' ;
6
- import AsyncStorage from '@react-native-community/async-storage' ;
2
+ import { persistStore } from 'redux-persist' ;
7
3
import Reactotron from 'reactotron-react-native' ; // eslint-disable-line import/no-extraneous-dependencies
8
4
import createLogger from 'redux-logger' ;
9
5
import reduxThunk from 'redux-thunk' ;
10
6
import { composeWithDevTools } from 'redux-devtools-extension' ;
11
7
import 'config/reactotron' ;
12
- import { rootReducer } from './root.reducer' ;
8
+ import rootReducer from './root.reducer' ;
13
9
14
- const encryptor = createEncryptor ( {
15
- secretKey : md5 ( DeviceInfo . getUniqueID ( ) ) ,
16
- } ) ;
17
- const persistConfig = {
18
- key : 'root' ,
19
- storage : AsyncStorage ,
20
- transforms : [ encryptor ] ,
21
- whitelist : [ 'auth' ] ,
22
- } ;
23
10
const getMiddleware = ( ) => {
24
11
const middlewares = [ reduxThunk ] ;
25
12
@@ -34,16 +21,20 @@ const getMiddleware = () => {
34
21
35
22
let store ;
36
23
37
- if ( __DEV__ && process . env . TRON_ENABLED ) {
38
- store = Reactotron . createStore (
39
- persistReducer ( persistConfig , rootReducer ) ,
40
- compose ( getMiddleware ( ) )
41
- ) ;
24
+ if ( __DEV__ ) {
25
+ if ( process . env . TRON_ENABLED ) {
26
+ store = Reactotron . createStore (
27
+ rootReducer ,
28
+ compose ( getMiddleware ( ) )
29
+ ) ;
30
+ } else {
31
+ store = createStore (
32
+ rootReducer ,
33
+ composeWithDevTools ( getMiddleware ( ) )
34
+ ) ;
35
+ }
42
36
} else {
43
- store = createStore (
44
- persistReducer ( persistConfig , rootReducer ) ,
45
- composeWithDevTools ( getMiddleware ( ) )
46
- ) ;
37
+ store = createStore ( rootReducer , compose ( getMiddleware ( ) ) ) ;
47
38
}
48
39
49
40
export const configureStore = store ;
0 commit comments