react-native - VirtualizedLists 永远不应该嵌套错误
问题描述
我正在使用 React Native 构建一个移动应用程序,并且我有一个ScrollView
内部页面。
问题是我在这个页面中有一个FlatList
所以当我去那个页面时,我得到了这个错误:
VirtualizedLists should never be nested inside plain ScroolViews with the same orientation...
问题是,我设置了ScrollView
nestedScrollEnabled
,true
我也设置了FlatList's scrollEnabled
,false
因为我真的不需要那里的滚动(我' m 使用它来呈现枚举中的项目)所以我认为应该修复错误,但错误仍然存在。
它看起来像这样:
<ScrollView showsVerticalScrollIndicator={false} nestedScrollEnabled={true}>
<MyComponent />
</ScrollView>
并且MyComponent
有这个 FlatList:
<FlatList
scrollEnabled={false}
style={{padding: 8,marginBottom: 8,}}
data={categories}
numColumns={numOfColumns}
keyExtractor={category => category}
renderItem={item => renderItem(item.item)}
/>
解决方案
您可以尝试将属性添加nestedScrollEnabled={true}
到父母和孩子:
<ScrollView showsVerticalScrollIndicator={false} nestedScrollEnabled={true}>
<MyComponent />
</ScrollView>
<FlatList
nestedScrollEnabled={true}
scrollEnabled={false}
style={{padding: 8,marginBottom: 8,}}
data={categories}
numColumns={numOfColumns}
keyExtractor={category => category}
renderItem={item => renderItem(item.item)}
/>
推荐阅读
- asp.net-core - 如何通过在 Dapper 中执行 SQL 查询返回字符串
- html - 为什么 .class-name-1.class-name-2:first-child 不起作用?
- php - PHP 使用 JOINS 显示来自 MySQL 的数据
- apache2 - 如何访问logstash过滤步骤中的嵌套字段?
- docker - Kubernetes DNSPolicy 配置
- java - Java 给出看似随机的 StackOverflowError
- ios - 一个应用程序 -> 多种语言
- typescript - 如何在我的自定义类型定义文件中导入其他类型定义
- reactjs - 使用 redux-tooltip 时“this.props.dispatch 不是函数”
- c++ - 为什么不能前向声明 typedef?