首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >React Native FlatList inside ScrollView onEndReached从未调用过

React Native FlatList inside ScrollView onEndReached从未调用过
EN

Stack Overflow用户
提问于 2018-07-13 15:33:22
回答 1查看 5.4K关注 0票数 5

我的容器是一个滚动视图,里面是一个扁平列表,它从服务器加载数据。

扁平表:

代码语言:javascript
运行
复制
<VirtualizedList
  ListEmptyComponent={<NoData />}
  data={data}
  getItem={(items, index) => items.get(index)}
  getItemCount={(items) => items.size}
  keyExtractor={(item, index) => String(index)}
  renderItem={this._renderItem}
  refreshControl={
     <RefreshControl
       refreshing={loading}
       onRefresh={this._onRefresh.bind(this)}
     />
  }
  onEndReached={this.handleLoadMore}
  onEndReachedThreshold={0.1}
  onMomentumScrollBegin={() => {
    Log('onMomentumScrollBegin fired!')
    this.onEndReachedCalledDuringMomentum = false;
  }}
/>

哪个handleLoadMore是:

代码语言:javascript
运行
复制
handleLoadMore = () => {
  Log('handleLoadMore fired!');
  if (!this.onEndReachedCalledDuringMomentum) {
    // fetch data..
    this.onEndReachedCalledDuringMomentum = true;
  }
}

问题是handleLoadMore从未调用,onMomentumScrollBegin也从未调用过。

如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2019-08-22 15:04:34

实际上,您不需要使用ContentScrollView,因为FlatList同时具有ListFooterComponentListHeaderComponent

如果您确实需要在ScrollView中使用FlatList,则可以将样式和内容contentContainerStyle添加到ScrollView中,或者,如果您使用本机基础,请在Content中添加样式和内容use

代码语言:javascript
运行
复制
<ScrollView
  ...
  style={{flex: 1}}
  contentContainerStyle={{flex: 1}}
  ...
/>

然后,如果你想在FlatList循环之外使用头组件。然后在平面列表中使用ListHeaderComponent={() => <SomeHeader />

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51319922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档