React Native中的图像源错误:要求只需要1个文字字符串

时间:2018-02-15 12:14:33

标签: react-native require

嗨我在本地路径中有反应原生的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}
/>

但它显示错误

enter image description here

在控制台上打印图像路径时,它仅显示字符串。可能是其他方式或错误在哪里?

2 个答案:

答案 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`)

引号不是同一类型。