-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathCommentList.js
125 lines (108 loc) · 2.4 KB
/
CommentList.js
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
'use strict';
var React = require('react-native');
var CommentListCell = require('./CommentListCell');
var MainListCell = require('./MainListCell');
var {
StyleSheet,
Image,
View,
TouchableHighlight,
ActivityIndicatorIOS,
ListView,
Text,
Component
} = React;
var styles = StyleSheet.create({
container: {
backgroundColor: '#ededed',
flex:1,
flexDirection: 'row',
},
loadingText: {
fontSize: 25,
textAlign: 'center',
marginTop: 10,
marginBottom: 10,
marginLeft: 10,
marginRight: 10,
color: '#666E74',
flex:1
}
});
class CommentList extends Component {
onLocationPressed() {
console.log('--------------')
}
constructor(props) {
super(props);
var dataSource = new ListView.DataSource(
{rowHasChanged: (r1, r2) => r1 !== r2});
this.state = {
loaded: false,
dataSource: dataSource
};
}
componentDidMount(){
var commentUrl = 'http://www.qiushibaike.com/commentpage/'+this.props.data.id+'?page=1'
console.log(commentUrl)
fetch(commentUrl)
.then((response) => response.json())
.then((responseData) => {
this.setState({
dataSource: this.state.dataSource.cloneWithRows(responseData.comments.items),
loaded: true,
// currentPage: this.state.currentPage+1,
// pageLoaded: true
});
})
.catch((error) => {
alert('error')
console.warn(error);
});
}
// renderLoading() {
// return (
// <View style={styles.container}>
// <Text style={styles.loadingText}>
// {'Loading...'}
// </Text>
// </View>
// );
// }
renderForRow(rowData, sectionID, rowID){
return (
<CommentListCell data={rowData}/>
// <MainListCell
// onSelect={() => this.toDetail(rowData)}
// // showImg={this.state.showImg}
// data={rowData}
// />
);
}
onSelect() {}
renderContent() {
return (
<MainListCell
onSelect={() => this.onSelect()}
// showImg={this.state.showImg}
data={this.props.data}
/>
)
}
renderList() {
return (
<ListView
renderHeader={this.renderContent.bind(this)}
dataSource={this.state.dataSource}
renderRow={this.renderForRow.bind(this)}
// renderFooter={this.renderFooterLoading}
// onEndReached={this.fetchData}
// onEndReachedThreshold={20}
/>
);
}
render() {
return this.renderList()
}
}
module.exports = CommentList;