我正在尝试为我正在创建的演示应用程序使用随机图像生成器。
我尝试了端点:
但是当我使用以下方法向页面添加图像列表时:
<View>
<Image
source={{ uri: 'http://thecatapi.com/api/images/get?format=src&type=gif&size=small' }}
style={{ width: 100, height: 100 }}
/>
<Image
source={{ uri: 'http://thecatapi.com/api/images/get?format=src&type=gif&size=small' }}
style={{ width: 100, height: 100 }}
/>
<Image
source={{ uri: 'http://thecatapi.com/api/images/get?format=src&type=gif&size=small' }}
style={{ width: 100, height: 100 }}
/>
</View>
期望的是,对于每个Image
组件,将显示不同的图像。遗憾的是,这在Android上不起作用。似乎图像或url被缓存在某个地方,因此当使用相同的URI再次渲染图像时,将显示相同的图像。
我在IOS上尝试了相同的应用程序(该应用程序是使用react native expo.io创建的)。该图片与IOS上预期的有所不同,这似乎是Android特有的问题。
有没有一种方法可以防止android每次渲染Image
组件时缓存图像并显示不同的图像?
答案 0 :(得分:2)
您必须以某种方式添加随机字符串以使用相同的uri重新加载图像。我通过在图像URL中添加随机字符串来解决了相同的问题。 关注此评论以获取更多信息 React native image issue
答案 1 :(得分:1)
在2020年,它仍然是本地人反应的一个问题(如Dishant Walia所述)。现在,来自github的最佳解决方案是:
在url之后添加查询字符串,适用于两个平台
<Image
style={styles.drawerAccountImg}
source={uri: this.state.photoURL + '?' + new Date()}
/>