Setting.js 1.9 KB
'use strict';

import React from 'react';
import ReactNative, {
    AppRegistry,
    Platform,
    StyleSheet,
    Dimensions,
    TouchableOpacity,
    View,
} from 'react-native';

import {
    Provider,
    connect
} from 'react-redux';

import configureStore from './store/configureStore';
import SettingContainer from './containers/SettingContainer';
import AboutContainer from './containers/AboutContainer';
import RecommondContainer from './containers/RecommondContainer';

import appInitialState from './reducers/app/appInitialState';
import settingInitialState from './reducers/setting/settingInitialState'
import recommondInitialState from './reducers/recommond/recommondInitialState';

import {
    setPlatform,
    setHost,
    setServiceHost,
} from './reducers/app/appActions';



function getInitialState() {
    const _initState = {
        app: (new appInitialState()),
        setting:(new settingInitialState()),
        recommond: (new recommondInitialState()),
    };
    return _initState;
}

export default function native(platform) {

    let YH_Setting = React.createClass({

        _renderContainer(){
            if (this.props.type == 1){
                return  <SettingContainer />;
            }else if(this.props.type == 2){
                return   <AboutContainer />;
            }else if(this.props.type == 3){
                return <RecommondContainer />;
            }else
                return <View />
        },

        render() {
            const store = configureStore(getInitialState());
            store.dispatch(setPlatform(platform));
            store.dispatch(setHost(this.props.host));
            store.dispatch(setServiceHost(this.props.serviceHost));
            return (
                <Provider store={store}>
                    {this._renderContainer()}
                </Provider>
            );
        }
    });

    AppRegistry.registerComponent('YH_Setting', () => YH_Setting);
}