React原生-需要未知模块
react native - requiring unknown module
我一直在尝试在ListView中加载本地图像文件。
当我硬编码时,它确实工作:
return <Image source={require('./public/image1.png')} style={{width: 60, height: 60}}/>
但是,当我像这样读取图像的路径时,它不起作用:
var path = rowData.thumbnail;
console.log(path); // './public/image1.png'
return <Image source={require(path)} style={{width: 60, height: 60}}/>
或者像这样:
return <Image source={require(rowData.thumbnail)} style={{width: 60, height: 60}}/>
显示错误信息,
需要未知模块"'./public/image1.png'"。如果你确定模块在那里,试着重新启动打包程序或运行"npm install"。
你能给我一个建议从对象中读取路径吗?我附上了完整的代码如下。提前谢谢你。
class MyClass extends Component {
constructor(props) {
super(props);
const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
let data = importedData.map(function(d) {
return {
thumbnail: "'./public" + d.thumbnail + "'"
}
});
this.state = {
dataSource: ds.cloneWithRows(data)
};
}
renderRow(rowData) {
var path = rowData.thumbnail;
return <View style={{flex: 1, flexDirection: 'row'}}>
<Image source={require(path)} style={{width: 60, height: 60}}/>
</View>
}
render() {
return (
<View style={{paddingTop: 22}}>
<ListView
dataSource={this.state.dataSource}
renderRow={this.renderRow}
/>
</View>
);
}
}
根据React-Native文档,有几种方法可以指定图像的来源:
本地存储:
<Image source={require('./img/favicon.png')}/>
<Image source={{uri: 'http://facebook.github.io/react/img/logo_og.png'}}/>
动态字符串,例如rowData.thumbnail
只能用于打包的图像。
如果您的图像加载到图像。iOS上的xcassets和Android上的res/drawable,你可以通过文件名引用它们,如下所示:
<Image source={{uri:'thumbnailFileName'}}/>
或. .
<Image source={{uri:rowData.thumbnail}}/>
你也可以用同样的方式指定占位符。
<Image source={{uri:rowData.thumbnail}} defaultSource={{uri:'placeholder'}}/>
工作演示- https://rnplay.org/apps/tsiGfQ
- Javascript,访问一个主要对象模块模式中的每个对象
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 尽管链接成功并已成功下载,但未找到NPM模块
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 从模块内部访问Express装载路径
- RequireJS向模块传递配置总是返回undefined
- React Native 中的未知模块“child_process”
- AngularJS在尝试使用模块时抛出未知提供程序:$scopeProvider <-$scope错误
- “错误:命名模块未知”,从动态路径加载反应本机图像
- 模块构建失败:引用错误:[BABEL] 未知选项:base.stage
- 在 yeoman 中使用动画模块编译 AngularJS 应用程序会给出未知的提供程序错误
- 正在注入Angular模块:未知提供程序
- 未能实例化模块[$injector:unp]未知提供程序:$routeProvider
- Angular-添加无限滚动模块后的未知提供程序
- 在AngularJS中,当自定义服务注入到不同的模块时,未知的提供商
- Angularjs、Typescript、Uglify实例化myApp模块失败未知提供商:a
- 如何要求无状态功能组件(未知模块_createWrapper?)
- 从外部模块注入提供程序到配置块时出现未知的提供程序错误
- React原生-需要未知模块