如何清除React Native抓取缓存

问题描述 投票:0回答:3

我有一个 React Native 应用程序,可以从我的服务器获取文件。当我更改服务器上的文件时,应用程序仍然显示旧数据。我正在用 expo 进行调试。

我有:

  • 使用 ipconfig 清除 DNS 缓存

  • 清除了我服务器上的缓存

  • 重启手机

  • 将以下内容添加到我的获取中:

    const response = await fetch(fileName, {
     headers: { "Cache-Control": "no-cache" },
    
  • 将以下内容添加到我的获取中:

     const response = await fetch(fileName, {
      headers: { "Cache-Control": "no-store" },
    

二手

"expo start -c"
我仍然得到旧数据。当我在服务器和应用程序中重命名该文件时,会出现新数据。

reactjs react-native caching fetch
3个回答
0
投票

尝试使用 重置缓存标志运行或重新启动 Metro 包。

npm start --reset-cache
yarn start --reset-cache

0
投票

有点管用。如果我一个人做这件事。它不起作用。然后我将清除缓存添加到获取的标头中,它确实起作用了。然后我把清除缓存拿出来并更改服务器上的文件,但它不起作用。所以看起来,除非有人有更好的解决方案,否则我需要做这两件事来清除缓存。

谢谢 - 你让我走得更远,但我被困住了。


0
投票

1)  添加以获取标头:{ '缓存控制': '无缓存', 'Pragma': '无缓存', ‘过期’:‘0’, }

  1. 如果可以的话,在 URL 中添加类似“?t=${new Date().getTime()”的内容,有助于进一步击败缓存

删除 S3 文件夹也有同样的问题,这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.