7
7
RefreshControl ,
8
8
StatusBar ,
9
9
Platform ,
10
- ScrollView ,
11
10
} from 'react-native' ;
12
11
import _ from 'lodash' ;
13
12
@@ -17,8 +16,6 @@ import { Caption } from './Text';
17
16
import { Divider } from './Divider' ;
18
17
import { Spinner } from './Spinner' ;
19
18
20
- const scrollViewProps = _ . keys ( ScrollView . propTypes ) ;
21
-
22
19
const Status = {
23
20
LOADING : 'loading' ,
24
21
LOADING_NEXT : 'loadingNext' ,
@@ -55,9 +52,8 @@ class ListView extends Component {
55
52
}
56
53
57
54
return { status : Status . LOADING } ;
58
- } else {
59
- return { status : Status . IDLE } ;
60
55
}
56
+ return { status : Status . IDLE } ;
61
57
}
62
58
63
59
constructor ( props , context ) {
@@ -76,9 +72,9 @@ class ListView extends Component {
76
72
}
77
73
78
74
shouldComponentUpdate ( nextProps , nextState ) {
79
- return ( nextProps . data !== this . props . data ) ||
80
- ( nextProps . loading !== this . props . loading ) ||
81
- ( nextState . status !== this . state . status ) ;
75
+ return ( nextProps . data !== this . props . data )
76
+ || ( nextProps . loading !== this . props . loading )
77
+ || ( nextState . status !== this . state . status ) ;
82
78
}
83
79
84
80
componentWillUnmount ( ) {
@@ -104,7 +100,7 @@ class ListView extends Component {
104
100
* @returns {{} }
105
101
*/
106
102
getPropsToPass ( ) {
107
- const props = this . props ;
103
+ const { props } = this ;
108
104
const mappedProps = {
109
105
...props ,
110
106
} ;
@@ -118,22 +114,21 @@ class ListView extends Component {
118
114
mappedProps . contentContainerStyle = props . style . listContent ;
119
115
120
116
// rendering
121
- mappedProps . renderHeader = this . createRenderHeader ( props . renderHeader , props . autoHideHeader ) ;
122
- mappedProps . renderItem = ( data ) => props . renderRow ( data . item ) ;
117
+ mappedProps . ListHeaderComponent = this . createListHeaderComponent ( props . renderHeader , props . autoHideHeader ) ;
118
+ mappedProps . renderItem = data => props . renderRow ( data . item ) ;
123
119
mappedProps . ListFooterComponent = this . renderFooter ;
124
120
125
121
if ( props . hasFeaturedItem && ! props . sections ) {
126
122
mappedProps . sections = [
127
- { data : [ props . data [ 0 ] ] , renderItem : ( data ) => props . renderFeaturedItem ( data . item ) } ,
123
+ { data : [ props . data [ 0 ] ] , renderItem : data => props . renderFeaturedItem ( data . item ) } ,
128
124
{ data : props . data . slice ( 1 ) } ,
129
- ]
125
+ ] ;
130
126
}
131
127
132
128
if ( props . renderSectionHeader ) {
133
- mappedProps . renderSectionHeader = ( { section} ) => props . renderSectionHeader ( section ) ;
134
- }
135
- else if ( ! props . hasFeaturedItem ) {
136
- mappedProps . renderSectionHeader = ( { section} ) => this . renderDefaultSectionHeader ( section ) ;
129
+ mappedProps . renderSectionHeader = ( { section } ) => props . renderSectionHeader ( section ) ;
130
+ } else if ( ! props . hasFeaturedItem ) {
131
+ mappedProps . renderSectionHeader = ( { section } ) => this . renderDefaultSectionHeader ( section ) ;
137
132
}
138
133
139
134
// events
@@ -179,7 +174,7 @@ class ListView extends Component {
179
174
this . scrollListView ( { y : height , animated : false } ) ;
180
175
}
181
176
182
- createRenderHeader ( renderHeader , autoHideHeader ) {
177
+ createListHeaderComponent ( renderHeader , autoHideHeader ) {
183
178
if ( ! renderHeader ) {
184
179
return ;
185
180
}
@@ -194,7 +189,7 @@ class ListView extends Component {
194
189
}
195
190
196
191
// eslint-disable-next-line consistent-return
197
- return ( ) => (
192
+ return (
198
193
< View { ...headerContainerProps } > { renderHeader ( ) } </ View >
199
194
) ;
200
195
}
0 commit comments