我想要一组标签,每个标签都有FlatList
一个ScrollView
. 这类似于 Instagram 或 Twitter 的布局。
我知道有一个FlatList
inside aScrollView
并触发 onEndReached有一些问题,因为只ScrollView
注册了 的滚动事件?
这导致内部onEndReached
在加载时立即被调用,然后一遍又一遍......
如果您将 ScrollView scrollEnabled 设为 false 而flex: 1
不是flexGrow: 1
那么您可以让内部 FlatLists 滚动但外部内容不会......这看起来像这样:
我认为有很多人都在为这个问题而苦苦挣扎,而我在任何地方都找不到真正明确的解决方案。
我也试图实现react-navigation-collapsible
与createMaterialTopTabNavigator
创建标签。但是,不能在整个屏幕上实现下拉刷新吗?
任何帮助将非常感激。
更新
我还研究了实施:ScrollView 内的 FlatList 不滚动
而且我已经查看了动态切换 scrollEnabled 属性(即使它创建了重新渲染。这几乎可以工作......但是ScrollView高度存在问题flexGrow: 1
并且内部FlatList
没有填充空间......
第二次更新
这种小吃几乎做了正确的事情...... https://snack.expo.io/@satya164/collapsible-header-with-tabview
它react-native-tab-view
使用动画使用和折叠标题。如果标题是一个组件,它可以在加载时获取数据,但您只会在内部列表上获得下拉刷新(与 Instagram 不同)。
相关问题:
无限调用 onEndReached 存在问题 - https://github.com/facebook/react-native/issues/18887 - https://github.com/facebook/react-native/issues/6002
FlatList 不能在 ScrollView 内工作...... - https://github.com/facebook/react-native/issues/12827#issuecomment-320509824
ScrollView 内的平面列表 - https://github.com/facebook/react-native/issues/19971
ScrollView 内的 FlatList 不滚动 - https://github.com/facebook/react-native/issues/19971
FlatList 孩子在渲染时调用 onEndReached - https://github.com/react-native-community/react-native-tab-view/issues/501
React Native Nested Listview Triggers onEndReached Multiple Times - React Native 嵌套 ListView 在加载时触发 onEndReached 多次
当 FlatList 包裹在 ScollView 中时,onEndReached 无法正常工作。- https://github.com/facebook/react-native/issues/22008
类似 Twitter 的个人资料布局 -如何创建类似 Twitter 的个人资料布局?但我相信现在的答案是不正确的。