最近学习 React-Native 遇到的图片加载失败的问题
使用的 RN 环境版本
react-native-cli: 2.0.1
react-native: 0.55.0
React-Native 中使用 Image 组件显示图片有两种方式:
- 加载本地图资源文件
- 加载网络图片资源
第一种方法:
<Image source={require('./images/banner_01.jpg')}/>
这个方法就不多说了,就跟 Android 加载本地资源很类似,设置一个本地图片路径就好了。
第二种方法
<Image
source={{uri: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1523263433771&di=69de72629c923496ba4efd58d301e62d&imgtype=0&src=http%3A%2F%2Fp1.meituan.net%2Fdeal%2F816b8c1664ef6ddad2d2c991d10ad1e3165800.jpg'}}
style={myStyle.banner_pic}/>
这个方法是加载网络图片,指定一个 url 地址,这里定义图片路径时用的是资源标识符 uri 不是url。
还有当加载网络图片时,必须要给 image 组件设置宽和高的样式,不然加载不出来。
以上是正常加载图片的方法,也是 RN 官网给的方法,下面我说说我遇到的坑
我在练习过程中要加载网络图片资源,我用的是 Android 设备测试,我使用的上面的网络加载的方法,可就是加载不出来,也不报任何错误,网上查资料说是 IOS 9 以上图片资源链接要是https 才可以正常显示,如果是 http 的链接则要设置一下info什么list文件里的配置, Android 的没有找到解决方法,我尝试用这种思路找了一张 https 的图片资源放上去,结果就好了。看来Android 也是需要配置,只是地方没找到。希望找到的朋友分享一下,谢谢。
总结
着重说说网络加载图片注意事项
1、是 uri 不是 url;
2、必须设置图片的大小
3、图片链接必须是 https (Android)