react-native - 反应图像内的本机文本
问题描述
我正在制作一个图片库反应本机应用程序。我能够放置图像,但我想在每张图像的底部添加一个文本,但我不知道如何。这是我的代码:
state = {
images: [
require('../../assets/image1.png'),
require('../../assets/image2.png'),
require('../../assets/image3.png'),
require('../../assets/image4.png'),
require('../../assets/image5.png'),
require('../../assets/image6.png'),
require('../../assets/image7.png'),
require('../../assets/image8.png'),
],
text: [text1,text2,text3,text4,text5,text6,text7,text8]
}
let images = this.state.images.map((val, key) => {
return <TouchableWithoutFeedback key={key}>
<View style={styles.imagewrap}>
<ImageElement imgsource={val} />
<Text style={{position:'absolute'}}> {this.state.text.map((data) => {
return data
})} </Text>
</View>
</TouchableWithoutFeedback>
});
所以会发生什么,它为所有图像打印出文本“text1text2text3text4.....”,而不是为图像 1 打印“text1”,为图像 2 打印“text2”等等。有人能帮我吗?先感谢您!
解决方案
好的,地图回调中的第二个参数(您称之为“key”)是当前元素的索引(在您的代码中称为“val”)。您需要做的是在您的 Text 元素中,而不是映射所有文本,只需在当前索引处呈现文本。所以而不是{this.state.text.map((data) => {return data})}
Just do
{this.state.text[key]}
推荐阅读
- python - Heroku/Django 的数据库问题:每次推送后都不会保留信息
- python - Python3:具有相同优先级的多个运算符
- javascript - 无法读取未定义的属性“querySelectorAll”
- spring-mvc - 必需的字符串参数“出发”不存在
- crystal-reports - Crystal Reports 通过 Visual Studio 年龄错误消息
- openshift-origin - 使用 Ansible 安装 OpenShift:无法连接到服务器:x509:证书对 10.199.27.30、172.30.0.1 有效,而不是 127.0.0.1
- powershell - 不能接受 $null
- python - VSCode 找不到 python (Anaconda 安装)
- ubuntu - 如何解决此错误?错误:无法创建交付客户端:无法创建新连接:超出上下文期限
- c# - 将除第一张工作表之外的所有工作表的第一列设置为日期