反应天然轴.返回的结果并非新鲜



我正在使用Axios为我的React Antive应用程序获取数据,并且仅对IOS遇到问题。我能够从服务器中获取数据,但是,如果我从API中更改任何数据,则只有在重新安装应用程序时,更改根本不会反映在iOS中,则会进行更改。我仍然无法确定导致问题的原因。这仅在iOS中发生,Android的工作原理很好。

获取数据代码:

axios.get('http://www.example.com/api')
.then((response) => {
  // console.log(response);
  this.setState({ data: response.data, loading: false });
});

如果我错过了任何信息,请告诉我。

如果已经询问了这一点,如果您能够指向正确的方向,我将非常感谢。

非常感谢!

我的猜测是从缓存中读取页面,因此您会获得旧的副本。您需要做的是在链接中添加日期邮票,以迫使该应用程序加载"新鲜"页面。它是这样的:

 axios.get('http://www.example.com/api?dt='+(new Date()).getTime())
.then((response) => {
     // console.log(response);
     this.setState({ data: response.data, loading: false });
});  

可以通过添加标头来解决:{'cache-control':'no-cache'}到标头。

axios.get('http://www.example.com/api',
  headers: {'Cache-Control': 'no-cache'})
.then((response) => {
  // console.log(response);
  this.setState({ data: response.data, loading: false });
});

相关内容

  • 没有找到相关文章

最新更新