【问题标题】:react-native image cache androidreact-native 图像缓存 android
【发布时间】:2023-03-17 16:50:01
【问题描述】:

所以我有一个 fetch() 调用返回一个在以下代码中标记为数据的背景 url。该网址是用户上传的图片,并调用我的后端以获取上传的图片。

await fetch(URL3)
  .then(response => response.json())
  .then(data => {
    this.setState({
      userBackground: data,
      loading: false
    });
  });

在我使用 jpeg 文件 (37 kb) 进行此调用后,它不会显示除我上传的第一个 jpeg 之外的任何其他文件。我尝试过不同大小的 png 和 jpeg 文件。

android 上是否有某种类型的图像缓存正在被激活,并且不允许下载另一个图像????

我的ImageBackground标签如下:

<ImageBackground
    source={this.state.userBackground === null ? this.state.background : { uri: `${uri}` }}
    style={{ width: '100%', height: '100%' }}
  >

【问题讨论】:

    标签: android react-native imagebackground


    【解决方案1】:

    React Native 在内部进行图像缓存,要摆脱这种情况,您可以在图像 url 中附加时间戳。 例如,

    let imageUrl = `${this.state.userBackground}?time=`+new Date(); 
    <ImageBackground
    source={imageUrl}
    style={{ width: '100%', height: '100%' }}
    >
    

    【讨论】:

    • 这会导致无限重新渲染,因为每个渲染传递不同的道具
    猜你喜欢
    • 2019-11-30
    • 1970-01-01
    • 2019-02-20
    • 2018-09-11
    • 2020-03-03
    • 2016-06-17
    • 1970-01-01
    • 1970-01-01
    • 2019-06-22
    相关资源
    最近更新 更多