ReactNative FlatList onEndReach 调用即使不滚动



我试图实现Somedata的Flatlist,该列表在一个传入数据的数组中包含近200个元素。我试图为用户提供仅在滚动时加载其余部分的选项。但是onEndReached发生的事情是,即使我们不滚动,它也在调用(我通过执行控制台日志进行了检查)。如何确保 onEndReach 仅在用户滚动时调用。

我尝试将onEndReachedThreshold设置为最大值 5,最小值为 0.01,这两种情况下它都不起作用。也试过这个,但没有 https://github.com/facebook/react-native/issues/14015#issuecomment-310675650 工作。

<FlatList
  data={this.state.properties}
  showsVerticalScrollIndicator={false}
  keyExtractor={item => item.mlsnum}
  renderItem={({ item }) => <Text{item.title}</Text>}
  onEndReachedThreshold={0.01}
  onEndReached={() => this.handleEndReach()}
/>

async handleEndReach() {
  this.props.fetchProperties(pageNum) //call to my redux action to fetch the data
}

在那里使用 async 是一个糟糕的实现,你应该在函数中使用它而不是在回调中使用它。请只使用

onEndReached={() => this.fetchProperties())

然后用于函数使用

async fetchProperties(){
 //do your async/await here
}

相关内容

  • 没有找到相关文章

最新更新