首页 > 解决方案 > 如何在 React-Admin 中对列表进行部分应用程序缓存更新?

问题描述

我读过博客React Admin 3.3: Faster Navigation And Reduced Footprint Thanks To Application Cache但仍然不明白如何创建真正的缓存而不需要完整的更新列表。
对于很少更改的几个列表资源,我想在 IndexedDb 中缓存响应。

更新和乐观渲染的逻辑应该如下(如果先前版本的列表已经在缓存中):

  1. 列表中的每个条目都有时间戳字段last_updated
  2. 打开缓存资源列表时,我的数据提供程序从 IndexedDb 返回当前列表版本。
  3. 理想情况下,在此加载期间,微调器应继续旋转(我不确定这是否可能,因为我在上一步中解决了 Promise)
  4. 同时在第 2 步期间,数据提供者异步启动从 API 获取新数据,例如“给我在timestampN之后更新的新条目,其中timestampN是缓存中最新的时间戳。
  5. 从 API 缓存接收到数据后,数据提供者应该以某种方式通知 react-admin 缓存数据已更改,需要重新渲染数据表。
  6. 最后加载微调器停止。

大多数情况下,我不知道如何完成第 5 步,因为它在这里最重要。

有人可以提供有关如何实现此类或类似应用程序缓存的想法吗?

标签: react-admin

解决方案


推荐阅读