温馨提示:本文翻译自stackoverflow.com,查看原文请点击:javascript - React Native

javascript - 反应本机

发布于 2020-03-27 12:04:52

我目前正在使用React Native构建一个测试应用程序。到目前为止,Image模块一直运行良好。

例如,如果我有一个名为的图像avatar,则下面的代码段可以正常工作。

<Image source={require('image!avatar')} />

但是但是如果我将其更改为动态字符串,则会得到

<Image source={require('image!' + 'avatar')} />

我得到错误:

需要未知模块“ image!avatar”。如果您确定模块在那里,请尝试重新启动打包程序。

显然,这是一个人为的示例,但是动态图像名称很重要。React Native是否不支持动态图像名称?

使用动态图像名称来响应本机错误

查看更多

查看更多

提问者
Shaheen Ghiassy
被浏览
50
Colin Ramsay 2015-06-16 20:50

在文档“ 静态资源下的内容中对此进行了介绍

引用捆绑中的图像的唯一允许方式是在源代码中按字面意义编写require('image!name-of-the-asset')。

// GOOD
<Image source={require('image!my-icon')} />

// BAD
var icon = this.props.active ? 'my-icon-active' : 'my-icon-inactive';
<Image source={require('image!' + icon)} />

// GOOD
var icon = this.props.active ? require('image!my-icon-active') : require('image!my-icon-inactive');
<Image source={icon} />

但是,您还需要记住将图像添加到Xcode应用程序的xcassets捆绑包中,尽管从您的评论看来,您已经这样做了。

http://facebook.github.io/react-native/docs/image.html#adding-static-resources-to-your-app-using-images-xcassets

发布
问题

分享
好友

手机
浏览

扫码手机浏览