2017-09-22 8 views
4

Wenn ich die Flatlist in einer Ansicht beifügen dann löst meine onEndReached unendlich, wenn ich die umschließende View onEndReached wird überhaupt nicht ausgelöst.OnEndReached in Flatlist Ausgabe

render(){ 

    return (
     <Root> 
      <Container> 
        <Content>     
         <View> 
           {this.state.listView && 
            <FlatList 
            data={this.state.variants} 
            keyExtractor={this._keyExtractor} 
            onEndReachedThreshold={0.5} 
            onEndReached={({ distanceFromEnd }) => { 
             console.log('on end reached ', distanceFromEnd); 
             this.loadMore(); 
            }} 
            numColumns = {1} 
            renderItem={({item, index}) =><CatalogRow item={item} in_wishlist={this.state.in_wishlist} toggleWishlist={() => this.toggleWishlist(item.title)} listView={this.state.listView}/>} 
           />} 

          </View> 
        </Content> 
       </Container> 
      </Root> 
    ); 
    } 

Und meine distanceFromEnd nimmt Werte wie 0, 960,1200, wenn es trigerred wird. Was zeigt es an? Ich verwende reagieren-native 0.47.2

+0

Ich glaube nicht, dass irgendetwas wirklich falsch in Ihrem Code ist. Versuchen Sie einfach, Ihre reaktionsfähige Version auf den neuesten Stand zu bringen und zu überprüfen. Es könnte einen Fehler in der Implementierung geben, der in den neuesten Versionen behoben wird. –

+0

okay, danke, das wird überprüft :) – subha

Antwort

2

Es war beacuse des umschließenden <Content>-Tag. Manchmal führt das Einbetten von reaktiven nativen Tags mit nativen Basis-Tags zu solchen Problemen. Ich habe den Inhalt und Container-Tag durch View Tags ersetzt und jetzt funktioniert es gut.

0

ich es so verwenden würde:

handleMore =() => { 
    // fetch more here 
}; 

<FlatList 
    onEndReached={this.handleMore} 
/> 
Verwandte Themen