reactjs - 如何在不中断 onEndReached 的情况下在 ScrollView 中有一个 React FlatList
问题描述
我使用 FlatList 做了一个无限滚动,它自己完美地工作。当我将它添加到底部抽屉(基于此)时,“onEndReached”开始变得疯狂 - 它会突然达到 10 倍,然后滚动到列表末尾将不再触发它。在我看来,手势处理程序或 Animated.ScrollView 正在破坏平面列表的滚动。我可以以某种方式保留底部抽屉吗?
更新:使用这个底部抽屉解决了这个问题,但是我们失去了向上/向下拖动抽屉以打开/关闭的能力,它需要一个按钮。这显然是 ScrollView 和 FlatList 的问题。我很想知道这是如何/为什么起作用的,而不仅仅是“我换了另一个似乎起作用的部分。不知道为什么……但它起作用”的创可贴解决方案
解决方案
您可以设置 Scrollview 道具style
和contentContainerStyle
. 这将防止 onEndReached 无限触发。
例如:
<ScrollView
style={{ flex: 1 }}
contentContainerStyle={{ flex: 1 }}
>
<Flatlist
....
/>
</ScrollView>
有关此问题的讨论,请参阅此 github 问题。
推荐阅读
- python-3.x - 在 Bigquery 中为多个 CSV 文件自动创建表
- c - C函数检查数组是否平衡(递归)
- c - 为什么在不同操作系统上编译时可执行文件大小不一样
- package - 如何停止 atom-beautify 自动格式化代码?
- android-studio - 在 android studio 中找不到 Gradle 任务
- r - 使用 geom_hex 仅绘制高密度数据
- php - Laravel:模型和枢轴之间的多对多
- eclipse - 未能执行目标 org.robotframework:robotframework-maven-plugin:2.0.0:run 无效的测试数据或命令行选项
- android - 如何使 Android 相机权限可选 - Google Play 不采用清单设置
- c# - c# Forms - 向属性编辑器公开一个数组以进行自定义控件