react-native - 防止 React Native 缓存本地镜像

标签 react-native

我有一个应用程序,它大量使用 React Native 的 Image 组件。

我知道缓存适用于远程图像,但我需要加载定期更改的本地镜像。

即使本地文件发生更改,图像组件也会缓存文件并显示缓存版本。

问题是如何禁用对本地文件的缓存,但为远程 URL 保留缓存(因为我混合了本地和远程)?

我会给出一个代码示例,但实际上它就像
<Image source={{uri: 'file://image.png'}} />
注意:这些是由应用程序中的操作创建和更改的文件,因此 require('image.png')不会剪掉它。我一直将它用于静态图像并且效果很好,但它是静态的而不是动态的。

我还看到了有关字符串末尾的随机查询参数的答案。总的来说,这很hacky,所以我不会雇用你工作:) 但除此之外,它显然不起作用。

提前加油!

根据对远...的评论和答案,当图像文件更改时,要真正清楚。它需要立即更改图像组件,因此需要清除缓存和状态并显示新图像。

最佳答案

回答有点晚,但您可以添加查询 "?time=new Date()"在你的变量中,像这样:

 const [profilePicture] = useState(`${baseURL}${user.infoUser.image_profile}?time=${new Date()}`);
这个的主要问题是每次都会刷新图像,因此显示图像的延迟可能相当高。

关于react-native - 防止 React Native 缓存本地镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49106339/

相关文章:

css - 如何在 native react 样式中设置动态值的 Prop

amazon-web-services - 使用 Cognito 进行身份验证 - 在哪里可以找到日志

react-native - 图像背景不会出现

javascript - React-Native-Paper 主题不会使用自定义字体

ios - react native ssl 固定

objective-c - Swift 模块 React Native 上的奇怪问题 'Cannot find type ' RCTResponseSenderBlock' in scope'

react-native - 无法从 "fbjs/lib/areEqual"解析 "node_modules\react-native-gesture-handler\createHandler.js"

react-native - 响应 native 底部模式与水平滚动

android - 如何在使用 React Native 时实现 SSL 证书锁定

node.js - React Native Expo - 不再支持 Node.js 版本 11.13.0