UNPKG

1.97 kBJavaScriptView Raw
1import { Scene, Router } from 'react-native-router-flux';
2import Login from './screens/login';
3import * as Titles from './titles';
4import * as utils from './redutil';
5import React, { Component } from 'react';
6import { connect, Provider } from 'react-redux';
7import { createStore, applyMiddleware, compose } from 'redux';
8import thunk from 'redux-thunk';
9const RouterWithRedux = connect()(Router);
10import reducers from './reducers';
11import * as Keys from './keys';
12// other imports...
13import {
14 TabBar,
15 Modal,
16 Schema,
17 Actions,
18 Reducer,
19 ActionConst
20} from 'react-native-router-flux'
21import {
22 Dimensions, AppState
23} from 'react-native';
24// create store...
25const middleware = [thunk, utils.redAsyncStorage/* ...your middleware (i.e. thunk) */];
26const store = compose(
27 applyMiddleware(...middleware)
28)(createStore)(reducers);
29import { Root } from "native-base";
30
31class RedApp extends React.Component {
32 componentDidMount() {
33 var me = this;
34 AppState.addEventListener('change', state => {
35 console.log('AppState changed to', state)
36 if (me.props.appStateChange) {
37 me.props.addStateChange({ type: 'change', state });
38 }
39 })
40 }
41 render() {
42 var me = this;
43 var scenes = [];
44 if (me.props.userLogin) {
45 scenes.push((<Scene key={Keys.Login} component={Login} type={ActionConst.RESET} hideNavBar={true} title="Login" />));
46 }
47 return (
48 <Root>
49 <Provider store={store}>
50 <RouterWithRedux onEnter={(e) => {
51 console.log(e)
52 }}>
53 <Scene key="root" hideNavBar={true}>
54 {scenes}
55 {this.props.children}
56 </Scene>
57 </RouterWithRedux>
58 </Provider>
59 </Root>
60 );
61 }
62}
63export default RedApp;
64
\No newline at end of file