在React Native中重置内部android映像缓存

时间:2018-04-01 23:05:52

标签: android react-native

我想在React Native中使用image library来解决问题:

当获取数据时,我得到一个带有图像网址的Json,它们会显示在屏幕上(图像),如果我在新的Json中更改Json中图像的url新Json是下载但图像没有在视图中更新(好像有一个内部缓存的android)。

是否可以在没有任何外部库的情况下擦除图像缓存? 或者您建议在这种情况下使用哪个库?

非常感谢,我希望得到答案。

2 个答案:

答案 0 :(得分:1)

据我所知,react-native不支持清除缓存开箱即用。你能做的就是快速入侵。您可以将随机数(如当前日期,以毫秒为单位)附加到要强制重新加载的图像uri。因为uri更改了缓存的图像将不会被使用。

示例

export default class App extends Component {
  render() {
    const uri = 'https://picsum.photos/200/300?date=' + (new Date()).getTime();
    return (
      <View style={styles.container}>
        <Image source={{uri}} style={{ width: 200, height: 300}} />
        <Text style={styles.paragraph}>
          Change code in the editor and watch it change on your phone!
          Save to get a shareable url.
        </Text>
      </View>
    );
  }
} 

答案 1 :(得分:1)

尝试在网址中附加随机字符串。我已经通过添加随机字符串解决了相同的问题。

'?t ='+ Math.round(new Date()。getTime()/ 1000)

Follow this link for more info