嗨我在本地路径中有反应原生的iumages,我正在尝试提供路径
<ListItem
roundAvatar
avatar={<Avatar
rounded
source={require( '../../../public/images/'+props.item.ImageName+'.png')}
title={props.item.cat_name}
/>}
onPress={() => props.subscreen(props.item._id)}
key={props.item._id}
title={props.item.cat_name}
/>
但它显示错误
在控制台上打印图像路径时,它仅显示字符串。可能是其他方式或错误在哪里?
答案 0 :(得分:1)
您不能在require中使用变量,只能使用字符串,而不是变量。 你需要这样做:
avatar={<Avatar
rounded
source={require( '../../../public/images/nameOfPic.png')}
title={props.item.cat_name}
/>}
如果你想选择一个你可以这样做的图像。
arrayImgs = [require('../../anyName1.jpg'), require('../../anyName2.jpg')];
...
<ListItem
roundAvatar
avatar={<Avatar
rounded
source={isTrue?arrayImgs[0]:arrayImgs[1]}
title={props.item.cat_name}
/>}
onPress={() => props.subscreen(props.item._id)}
key={props.item._id}
title={props.item.cat_name}
/>
编辑:
您可以将URI用于本地图像。
let imagePath = 'file:///storage/emulated/0/Pictures/'+imageName+'.png'
...
<Image
style={{width: '100%', height: 400}}
resizeMode='contain'
source={{imagePath}}
/>
这是Android中文件夹的默认路径,请尝试使用“图片”中的任何图片。文件夹中。
答案 1 :(得分:-1)
试试这个:
require(`../../../public/images/${props.item.ImageName}.png`)
引号不是同一类型。