reactjs - 有没有办法让路由器响应 *NOT* 在返回页面时刷新 api 数据
问题描述
所以我有一个页面需要 5 秒才能从 API 加载数据。我把结果放在一个表中。用户单击其中一行,它会将他们带到另一条路线,其中包含有关该行的详细信息。他们没有看到他们想要的并返回到第一页。
页面刷新并重新拉取 API 数据 5 秒。
有没有办法调回第一页并且数据/状态仍然存在?似乎它在 react-native 中是这样工作的。
显然我可以实现分页/缓存等。但只是好奇我是否缺少某些东西。
解决方案
这里有几件事要清楚。React 不是 SPA。它在本质上出现 SPA 只是因为它可以使用 CreateReactApp 之类的 cli 工具打包成这样。或者,可以使用nextjs等工具对 React 进行服务器端渲染(SSR)。
正如@CarsonEsplin 所指出的,具有正确依赖数组的 useEffect 应该会有所帮助。在某些存储中手动缓存是可能的,但除非您计划再次使用相同的数据而不在另一个反应组件中获取,否则应该没有必要。在这种情况下,像react-redux这样的应用程序状态管理工具应该会有所帮助。
推荐阅读
- nginx - 如何清除 nginx 中的 keys_zone 内存
- java - 将 Object 的对象变成不同类型的对象?
- ios - 如何通过单击添加来添加一个单元格,该单元格将采用 TextField 值并在该表格视图中创建一个包含该文本的单元格,如下图 Swift/Obj-C 中的图像?
- assembly - 尝试在 x86 汇编中进行乘法运算,使用 rax、rdi、rsi 和 rcx 寄存器
- flutter - Flutter 应用程序无法调用 API。未处理的异常:键入“列表”
' 不是类型 'Map 的子类型 ' - go - ANTLR4 内存使用
- php - Laravel route() 为 localhost 返回错误的 url
- python-3.x - Django forms.ModelForm slugfield db_index=True
- tensorflow - keras 和 tf.keras 的区别
- ios - iOS USB 文件传输