react-native - React Native 嵌套平面列表(垂直平面列表中的水平平面列表)
问题描述
我在垂直平面列表中有一个水平平面列表,我希望根据正在呈现外部平面列表的哪个项目来提供内部平面列表上的数据
这是我目前拥有的:
<FlatList
style={styles.outerFlatlist}
data={this.state.catagories}
renderItem={({item, index})=>{
return (
<View>
<View>
<Text style={styles.catagoryName}>
{item.CategoryName}
</Text>
</View>
<View style={styles.innerFlatlist}>
<FlatList
horizontal={true}
data={this.state.product1}
renderItem={({item, index})=>{
return (
<View
style={styles.productsContainer}>
<View
style={styles.productImage}>
<Image
source={{uri:item.productImage}}
style={styles.image}
resizeMode='contain'>
</Image>
</View>
<View style={styles.productDETAILS}>
<Text
style={styles.productPrice}>R{item.productPrice}
</Text>
<Text
style={styles.productDescription}>
{item.productDecription}
</Text>
</View>
</View>
);
}}/>
</View>
</View>
);
}}/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
使用上面的代码,除了每个类别显示相同的数据(this.state.product1)之外,一切正常,我怎样才能使内部平面列表的数据依赖于外部平面列表上显示的项目?
解决方案
当您在 .map 中时,您已经在 this.state.catagories 中,但是由于您始终将 this.state.product1 用于 flatlist2 ,因此您将始终得到相同的结果,因为 this.state.product1保持不变。
在 flatlist2 将数据更改为item.products或item.whateverYouNeedHereButArray
<View style={styles.innerFlatlist}>
<FlatList
horizontal={true}
data={item}
推荐阅读
- javascript - 没有空的对象的函数属性
- r - 'utils' 的 loadNamespace() 中的 onLoad 失败,详细信息
- azure - Azure 函数为本地驱动器上传文件
- typescript - RxJS - 每 3 秒查询服务器 15 秒或肯定结果
- c# - 如何手动创建数据库模型?
- python - 您如何查找和计算变量字符串中存在多少字符串的特定切片?
- javascript - 如何在javascript中获取函数之外的分配属性?
- tensorflow - 无法在 Sagemaker 脚本模式下使用 Keras CSVLogger 回调。它无法在 S3 上写入日志文件(错误 - 没有这样的文件或目录)
- operating-system - ./pintos run alarm-multiple 命令不创建线程
- java - Maven:如何在 Maven 中使用 JMetro 样式?