即使不滚动,ReactNative FlatList onEndReached调用

时间:2019-01-31 13:12:07

标签: react-native react-native-flatlist

我正在尝试实现Somedata的Flatlist,它在数组中包含将传递数据的数组中的近200个元素。 我试图让用户选择仅在滚动时加载其余部分。但是onEndReached发生的是,即使我们没有滚动,它也在调用(我通过做控制台日志来检查)。我如何确保onEndReached仅在用户滚动时才调用。

在两种情况下,我都尝试将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
}

1 个答案:

答案 0 :(得分:0)

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

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

然后用于功能使用

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