【发布时间】:2017-06-22 01:24:22
【问题描述】:
<Image source={require(rowData.avatar)} />
错误:未知名称模块“xxxxxx”
为什么可以打印出路径却看不到图片?
【问题讨论】:
标签: react-native
<Image source={require(rowData.avatar)} />
错误:未知名称模块“xxxxxx”
为什么可以打印出路径却看不到图片?
【问题讨论】:
标签: react-native
试试
<Image source={(rowData.avatar)} />
【讨论】:
图像不能使用动态生成的来源。假设您要做的是加载图像作为包的一部分,您的代码必须阅读:
const avatar = require('./path/to/avatar.jpg');
只有这样您才能使用avatar 作为您的来源:
rowData = {
avatar: avatar
}
<Image source={rowData.avatar} />
如果您事先知道您的应用将需要哪些图像,我建议您创建一个资产文件,在其中添加所有硬编码的需求,例如:
// assets.js
return {
avatar1: require('./path/to/file.jpg'),
avatar2: require('./path/to/file.jpg'),
avatar3: require('./path/to/file.jpg'),
}
然后您将按如下方式构建您的rowData:
import avatars from './assets';
rowData = {
avatar: avatars['avatar1']
}
您可能会将avatar1 替换为包含指向您感兴趣的头像的键的变量。
这是我用于我的一个项目的asset file。
【讨论】: