react-native - ScrollView 无法使用 FlatList 水平滚动
问题描述
目前我有一个 FlatList 保存我的图像。此 Flatlist 位于 ScrollView 组件内,我希望 Flatlist 图像能够水平滚动。但是由于某种原因,即使在我的平面列表中启用了 Horizontal={true} 之后,我的额外图像也会进入下一行并且滚动是垂直的。参考图像
这是我的代码:
const ITEM_WIDTH = Dimensions.get('window').width / 1.2;
const BottomImages: React.FC<FamilyCarouselProps> = ({ family }) => {
const columns = family.length;
const [activeItemIndex, setActiveItemIndex] = useState()
return(
<ScrollView horizontal={true}>
<FlatList
numColumns={columns}
data={family}
renderItem={({ item }) => {
return (
<ListItem
itemWidth={(ITEM_WIDTH - (10 * columns)) / columns}
image={item}
itemIndex={item.id}
activeItemIndex={activeItemIndex}
onChangeActiveItemIndex={(index)=>{
setActiveItemIndex(index)
}}
/>
);
}}
/>
</ScrollView>
);
}
解决方案
您应该在 FlatList 中而不是在 ScrollView 中启用水平道具。
const ITEM_WIDTH = Dimensions.get('window').width / 1.2;
const BottomImages: React.FC<FamilyCarouselProps> = ({ family }) => {
const columns = family.length;
const [activeItemIndex, setActiveItemIndex] = useState()
return(
<FlatList
horizontal={true}
numColumns={columns}
data={family}
renderItem={({ item }) => {
return (
<ListItem
itemWidth={(ITEM_WIDTH - (10 * columns)) / columns}
image={item}
itemIndex={item.id}
activeItemIndex={activeItemIndex}
onChangeActiveItemIndex={(index)=>{
setActiveItemIndex(index)
}}
/>
);
}}
/>
);
}
推荐阅读
- reactjs - TypeScript React 功能组件 - 缺少类型“元素”的以下属性:类型、道具、键错误
- python - gRPC 和断管
- c - C - 无法在函数中复制字符串
- reactjs - webpack 5 module.hot 未定义
- python - 如何在 Python 中填充“空”值?我有时间序列数据的关键字 null 如何删除它们?
- ansible - Ansible:回答来自软件包安装的提示
- java - 处理程序处理失败;嵌套异常是 java.lang.NoSuchMethodError
- django - Django:如果需要创建对象或可以捕获对象,如何处理的简单方法
- apache-kafka - kafka.common.errors.UnknownProducerIdException
- c - 试图制作一个打印出首字母缩写词的程序