1 | import { Scene, Router } from 'react-native-router-flux';
|
2 | import Login from './screens/login';
|
3 | import * as Titles from './titles';
|
4 | import * as utils from './redutil';
|
5 | import React, { Component } from 'react';
|
6 | import { connect, Provider } from 'react-redux';
|
7 | import { createStore, applyMiddleware, compose } from 'redux';
|
8 | import thunk from 'redux-thunk';
|
9 | const RouterWithRedux = connect()(Router);
|
10 | import reducers from './reducers';
|
11 | import * as Keys from './keys';
|
12 |
|
13 | import {
|
14 | TabBar,
|
15 | Modal,
|
16 | Schema,
|
17 | Actions,
|
18 | Reducer,
|
19 | ActionConst
|
20 | } from 'react-native-router-flux'
|
21 | import {
|
22 | Dimensions, AppState
|
23 | } from 'react-native';
|
24 |
|
25 | const middleware = [thunk, utils.redAsyncStorage];
|
26 | const store = compose(
|
27 | applyMiddleware(...middleware)
|
28 | )(createStore)(reducers);
|
29 | import { Root } from "native-base";
|
30 |
|
31 | class 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 | }
|
63 | export default RedApp;
|
64 |
|
\ | No newline at end of file |