如何只在React中一次请求API数据,而不是每次访问都呈现页面?

FASP

因此,在具有多个页面的网站中,哪个页面使用API​​中的外部数据,那么在首次加载页面时仅一次发出请求的最佳逻辑方法是什么?因此,例如,我第一次进入ABOUT页面(使用React Router),它发出Axios请求并加载数据,然后切换到HOME页面,当我回到ABOUT页面时,它不会加载数据再次。

因为我当前要做的是每次页面加载时都发出一个请求,这对于用户体验来说非常笨拙。我在componentDidMount方法中使用Axios发出请求带有Context API的React Hooks可以帮助解决此问题吗?

我看过这篇文章,但仍然感到困惑:每次访问页面时,React rerender

预先感谢,对不起,如果我不能说清楚!

丹尼尔·格芬

您可以研究缓存-它不需要更改当前代码,而仅在设置axios时才需要。当您自上次请求以来对相同数据的请求几乎没有任何变化时,它将从缓存中提供服务,而不是调用服务器。

可以在axios中进行缓存的库示例是axios-cache-adapter

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何只访问一次React Redux值?

每次单击devtool页面上的按钮时,如何只执行一次内容脚本功能?

如何通过单击文件而不是每次都键入一次来自动运行命令?

如何在 React 中一次只关闭一个 Div?

无论数组大小如何,React for 循环都只运行一次

每次登录后如何只运行一次javascript?

为什么setInterval一次记录所有数据,而不是每次都等待指定的时间间隔?

React.js 在組件上只啟動一次計時器,而不是每次重新渲染時

如何使事件只有在为true时才触发一次,而不是每次更新迭代都触发一次?

如何在 reactjs 中一次只选中一个复选框?

如何在REACT INFINITE中为每个页面仅发出一次API请求,请滚动此处

如何只提交一次jQuery Ajax发布请求?

装入页面时如何只发送一次?

如何让 for 循环输出一次而不是每次迭代?

每次网站访问一次如何显示消息?

如何在react和express中一次性上传文件和json数据

如何每次会话一次仅在页面中触发一次jQuery函数?

如何在每个循环中更新数据,而不是在Android中一次显示所有循环数据

如何在js中一次输出数据

只运行一次 http 请求

好友请求只发送一次

如何在ReactJS中一次只删除一项?

如何一次只选中一个复选框?

如何在Listview中一次只修改一行?

如何在 Flutter 中一次只创建一个 Expand 的 ExpansionTile?

如何只训练一次我的数据

AsyncSubject - 如何只获取一次数据?

Angular - 如何确保数据只加载一次

如何从只出现一次的 SQL 中过滤数据?