我试图实现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
}