2017-01-02 49 views
1

我在下面的代码中,Image组件包含两个Image组件。React Native Image不能使用特定的URL

<View style={styles.container} > 
    <Image 
     style={{width: 50, height: 50}} 
     source={{uri: 'https://facebook.github.io/react/img/logo_og.png'}} 
    /> 
      <Image 
     style={{width: 50, height: 50}} 
     source={{uri: 'http://lghttp.24811.nexcesscdn.net/80B00B/qpb/media/catalog/product/cache/11/image/439x334/9df78eab33525d08d6e5fb8d27136e95/q/w/qw_neverdonejoggers_p_.png'}} 
    /> 
    </View> 

对于第一个github URL,它按照预期呈现正确的img标志。 然而,对于第二图像不渲染来源:qw_neverdonejoggers_p_.png

这使我的东西错了网址,但在网址点击结论正确加载图:

http://lghttp.24811.nexcesscdn.net/80B00B/qpb/media/catalog/product/cache/11/image/439x334/9df78eab33525d08d6e5fb8d27136e95/q/w/qw_neverdonejoggers_p_.png

我试图在这里复制这个问题,https://rnplay.org/apps/_dQXXw 但它呈现正确的图像。

因此,它只能在本地我的电脑,由于某种原因,我可以呈现第二图像?

使用: “反应”: “15.4.1”, “反应原生”: “^ 0.39.2”,

回答

3

Andres的答案有些是正确的,但它并没有解决这一问题的确切原因,那就是iOS的”应用传输安全。 iOS默认情况下不允许明文请求(http),因此您需要定义可允许覆盖此特定保护机制的URL的“白名单”。您已经设置了该列表,以便您的应用可以在开发过程中连接到本地主机,因此只需添加新条目即可。你可以在answer中看到如何操作。当然,这只有在您事先知道URL列表时才有效,这可能不适合您的需求。在这种情况下,请看this article

2

uri只以https工作。在Android中,它应该可以正常使用http或https。

你会发现更多的信息here

相关问题