'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 installmentInitialState from './reducers/installment/installmentInitialState'; import newRegisterInitialState from './reducers/newRegister/newRegisterInitialState'; import repayListInitialState from './reducers/repayList/repayListInitialState'; import repayDetailInitialState from './reducers/repayDetail/repayDetailInitialState'; import InstallmentContainer from './containers/InstallmentContainer'; import OpenContainer from './containers/OpenContainer'; import InstallmentStatusContainer from './containers/InstallmentStatusContainer'; import RepayListContainer from './containers/RepayListContainer'; import RepayDetailContainer from './containers/RepayDetailContainer'; import RepayRecordListContainer from './containers/RepayRecordListContainer'; import InstallmentAccountContainer from './containers/InstallmentAccountContainer'; import InstallmentMyCardContainer from './containers/InstallmentMyCardContainer'; import InstallmentMyCardDetailContainer from './containers/InstallmentMyCardDetailContainer'; import { setPlatform, setChannel, } from './reducers/app/appActions'; import { setInstallmentStausPageParams, } from './reducers/installment/installmentActions'; import { setQueryDays, } from './reducers/repayList/repayListActions'; import { setRepayOrderNo, } from './reducers/repayDetail/repayDetailActions'; function getInitialState() { const _initState = { app: (new appInitialState()), installment: (new installmentInitialState()), newRegister: (new newRegisterInitialState()), repayList: (new repayListInitialState()), repayDetail: (new repayDetailInitialState()), }; return _initState; } export default function native(platform) { let YH_Installment = React.createClass({ render() { let type = this.props.type; const store = configureStore(getInitialState()); store.dispatch(setPlatform(platform)); let channel = this.props.channel; let days = this.props.days; if (days && days !== '') { store.dispatch(setQueryDays(days)); } let repayOrderNo = this.props.repayOrderNo; if (repayOrderNo && repayOrderNo !== '') { store.dispatch(setRepayOrderNo(repayOrderNo)); } channel && store.dispatch(setChannel(channel)); if (type == 'installmentHome') { return ( <Provider store={store}> <InstallmentContainer /> </Provider> ); } else if (type == 'openInstall') { return ( <Provider store={store}> <OpenContainer /> </Provider> ); } else if (type == 'installStatus') { let status = this.props.status; let failReason = this.props.failReason; let uid = this.props.uid; store.dispatch(setInstallmentStausPageParams(status,failReason,uid)); return ( <Provider store={store}> <InstallmentStatusContainer /> </Provider> ) } else if (type == 'repayList') { return ( <Provider store={store}> <RepayListContainer /> </Provider> ); } else if (type == 'repayDetail') { return ( <Provider store={store}> <RepayDetailContainer /> </Provider> ); } else if (type == 'repayRecordList') { return ( <Provider store={store}> <RepayRecordListContainer /> </Provider> ) } else if (type == 'installAccount') { return ( <Provider store={store}> <InstallmentAccountContainer /> </Provider> ) } else if (type == 'installMyCard') { return ( <Provider store={store}> <InstallmentMyCardDetailContainer /> </Provider> ) } else if (type == 'installMyCardDetail') { return ( <Provider store={store}> <InstallmentMyCardContainer /> </Provider> ) } } }); AppRegistry.registerComponent('YH_Installment', () => YH_Installment); } let styles = StyleSheet.create({ });