我正在开发一个示例反应原生项目。除了 <Image source=''/>
之外,几乎所有功能都可以很好地使用它。该图像在 android studio 和 genymotion 提供的 android 模拟器中显示良好,但不适用于任何真实设备(moto G3 turbo、nexus 5、galaxy s4 等)。我不知道我的代码出了什么问题。这是我的代码
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
Image
} from 'react-native';
class ImageTester extends Component {
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome to React Native!
</Text>
<Text style={styles.instructions}>
To get started, edit index.android.js
</Text>
<Text style={styles.instructions}>
Double tap R on your keyboard to reload,{'\n'}
Shake or press menu button for dev menu
</Text>
<Image source={require('./img/first_image.png')}></Image>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
AppRegistry.registerComponent('ImageTester', () => ImageTester);
项目结构:
反应原生版本:反应原生:0.32.1
原文由 Ansal Ali 发布,翻译遵循 CC BY-SA 4.0 许可协议
问题出在我的捆绑打包命令上。正如@luwu 在他的评论中所说,我检查了 这个,很惊讶与我的没有区别。然后只有我在运行命令时注意到一条消息
该消息有点令人困惑,因为 bundle 已经在 assets 文件夹中创建了。该消息中的“资产”实际上表示我的图像。我用以下命令解决了这些问题: