Classify.js
3.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
'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 {Record, List, Map} from 'immutable';
import appInitialState from './reducers/app/appInitialState';
import brandInitialState from './reducers/brand/brandInitialState';
import categoryInitialState from './reducers/category/categoryInitialState';
import categoryBInitialState from './reducers/categoryB/categoryBInitialState';
import interestInitialState from './reducers/interest/interestInitialState';
import CategoryContainer from './containers/CategoryContainer';
import CategoryBContainer from './containers/CategoryBContainer';
import BrandContainer from './containers/BrandContainer';
import InterestContainer from './containers/InterestContainer';
import {
setPlatform,
setHost,
setServiceHost,
setABVersion,
} from './reducers/app/appActions';
import {
setCurrentChannelId,
} from './reducers/category/categoryActions';
import {
setCurrentChannelB,
} from './reducers/categoryB/categoryBActions';
import {
setBrandSelectedChannel,
} from './reducers/brand/brandActions';
function getInitialState() {
const _initState = {
app: (new appInitialState()),
brand: (new brandInitialState()),
category: (new categoryInitialState()),
categoryB: (new categoryBInitialState()),
interest: (new interestInitialState()),
};
return _initState;
}
export default function native(platform) {
let YH_Classify = React.createClass({
_renderContainer() {
if (this.props.type == 0) {
//如果是B版,则打开B版品类
if (this.props.abversion == "B") {
return <CategoryBContainer />;
} else {
return <CategoryContainer />;
}
} else if (this.props.type == 1) {
return <BrandContainer />;
} else if (this.props.type == 2) {
return <InterestContainer />;
}
return <View/>;
},
render() {
const store = configureStore(getInitialState());
store.dispatch(setPlatform(platform));
store.dispatch(setHost(this.props.host));
store.dispatch(setServiceHost(this.props.serviceHost));
store.dispatch(setABVersion(this.props.abversion));
if (this.props.type == 0) {
if (this.props.channelId == '1') {
store.dispatch(setCurrentChannelId('boy'));
//B版设置channelID和名称
store.dispatch(setCurrentChannelB('1', 'boy'));
} else if (this.props.channelId == '2') {
store.dispatch(setCurrentChannelId('girl'));
//B版设置channelID和名称
store.dispatch(setCurrentChannelB('2', 'girl'));
} else if (this.props.channelId == '3') {
store.dispatch(setCurrentChannelId('kids'));
//B版设置channelID和名称
store.dispatch(setCurrentChannelB('3', 'kids'));
} else if (this.props.channelId == '4') {
store.dispatch(setCurrentChannelId('lifestyle'));
//B版设置channelID和名称
store.dispatch(setCurrentChannelB('4', 'lifestyle'));
}
} else if (this.props.type == 1) {
if (this.props.channelId) {
store.dispatch(setBrandSelectedChannel(this.props.channelId));
}
}
return (
<Provider store={store}>
{this._renderContainer()}
</Provider>
);
}
});
AppRegistry.registerComponent('YH_Classify', () => YH_Classify);
}
let styles = StyleSheet.create({
});