Mine.js 1.87 KB
'use strict';

import React from 'react';
import ReactNative, {
	AppRegistry,
	Platform,
	StyleSheet,
	Dimensions,
	TouchableOpacity,
} from 'react-native';
import {
	Provider,
	connect
} from 'react-redux';
import configureStore from './store/configureStore';
import {Record, List, Map} from 'immutable';

import appInitialState from './reducers/app/appInitialState';
import mineInitialState from './reducers/mine/mineInitialState';

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

import {
    getMineUserInfoSuccess,
    getMemberBillTaskRedDotSuccess,
    setIsNeedShowXsrz,
} from './reducers/mine/mineActions';

function getInitialState() {
	const _initState = {
		app: (new appInitialState()),
    	mine: (new mineInitialState()),
	};
	return _initState;
}


export default function native(platform) {

	let YH_Mine = React.createClass({
		render() {
		  	const store = configureStore(getInitialState());
			store.dispatch(setPlatform(platform));
			store.dispatch(setHost(this.props.host));
			store.dispatch(setServiceHost(this.props.serviceHost));

			let channel = this.props.channel;
			let profilesInfo = this.props.profilesInfo;
			let memberBillNew = this.props.memberBillNew;
			let isOpenXsrz = this.props.isOpenXsrz;

			if (profilesInfo) {
                profilesInfo = JSON.parse(profilesInfo);
            }
			channel && store.dispatch(setChannel(channel));
            profilesInfo && store.dispatch(getMineUserInfoSuccess(profilesInfo));
            memberBillNew && store.dispatch(getMemberBillTaskRedDotSuccess(memberBillNew));
            store.dispatch(setIsNeedShowXsrz(isOpenXsrz));
			return (
				<Provider store={store}>
					<MineContainer />
				</Provider>
			);
		}
	});

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

let styles = StyleSheet.create({
	
});