Seckill.js 1.59 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 seckillInitialState from './reducers/seckill/seckillInitialState';

import SeckillContainer from './containers/SeckillContainer';
const queryString = require('query-string');

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

import {
	setStartTime,
} from './reducers/seckill/seckillActions';


import {
	setContentCode,
	setHost,
} from './reducers/seckill/seckillActions';

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

export default function native(platform) {

	let YH_Seckill = React.createClass({

		render() {
		  	const store = configureStore(getInitialState());
			store.dispatch(setPlatform(platform));
			let url = this.props.url;
			if (url) {
				let queryUrl = queryString.parse(url);
				if (queryUrl.time) {
					store.dispatch(setStartTime(queryUrl.time));
				}
			}
			if(this.props.contentCode){
				store.dispatch(setContentCode(this.props.contentCode));
			}
			store.dispatch(setHost(this.props.host));
			return (
				<Provider store={store}>
					<SeckillContainer />
				</Provider>
			);
		}
	});

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

let styles = StyleSheet.create({

});