SeckillContainer.js
3.01 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
'use strict'
import React, {Component} from 'react';
import {
StyleSheet,
Dimensions,
Platform,
View,
NativeModules,
} from 'react-native'
import {bindActionCreators} from 'redux';
import {connect} from 'react-redux';
import {Map} from 'immutable';
import * as seckillActions from '../reducers/seckill/seckillActions';
import Seckill from '../components/seckill/Seckill';
const actions = [
seckillActions,
];
function mapStateToProps(state) {
return {
...state
};
}
function mapDispatchToProps(dispatch) {
const creators = Map()
.merge(...actions)
.filter(value => typeof value === 'function')
.toObject();
return {
actions: bindActionCreators(creators, dispatch),
dispatch
};
}
class SeckillContainer extends Component {
constructor(props) {
super(props);
this._onPressTimeItem = this._onPressTimeItem.bind(this);
this._onPressProductItem = this._onPressProductItem.bind(this);
this._onPressRemindBtn = this._onPressRemindBtn.bind(this);
this._onRefresh = this._onRefresh.bind(this);
this._onClearRemindTip = this._onClearRemindTip.bind(this);
this._onFocusToCurStartedActivity = this._onFocusToCurStartedActivity.bind(this);
}
componentDidMount() {
this.props.actions.getSeckillQueryActivity();
}
_onPressTimeItem(activity) {
this.props.actions.clickActivityTimeItem(activity);
}
_onPressProductItem(product) {
this.props.actions.clickProductItem(product);
}
_onPressRemindBtn(product) {
this.props.actions.clickRemindBtn(product);
}
_onRefresh() {
this.props.actions.refreshList();
}
_onClearRemindTip() {
this.props.actions.addCancelUserReminderClearTip();
}
_onFocusToCurStartedActivity(activity) {
this.props.actions.getSeckillQueryActivity(activity.startTime);
}
render() {
let {
isFetching,
error,
queryActivityInfo,
queryProductList,
queryRemindList,
addCancelUserReminderTip,
} = this.props.seckill;
return (
<Seckill
isFetching = {isFetching}
error = {error}
queryActivityInfo = {queryActivityInfo}
queryProductList = {queryProductList}
queryRemindList = {queryRemindList}
addCancelUserReminderTip = {addCancelUserReminderTip}
onPressTimeItem={this._onPressTimeItem}
onPressProductItem={this._onPressProductItem}
onPressRemindBtn={this._onPressRemindBtn}
onRefresh={this._onRefresh}
onClearRemindTip={this._onClearRemindTip}
onFocusToCurStartedActivity={this._onFocusToCurStartedActivity}
/>
);
}
}
let styles = StyleSheet.create({
container: {
flex: 1,
},
});
export default connect(mapStateToProps, mapDispatchToProps)(SeckillContainer);