同步多个 Redux 存储的最佳实践

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

我们有一个跨多个团队管理的应用程序,我们希望通过使用微前端方法在应用程序之间创建灵活性和隔离,每个应用程序将有自己的商店。

一些应用程序使用相同的数据,我们希望减少从服务器获取的重复数据的数量。

我知道在这种情况下我们应该使用单个商店,但我们选择了使用多个商店。

商店之间同步数据的最佳方式是什么以及如何?

几点:

  • 所有数据均已从我们的后端服务获取
  • 数据结构是相同的,但并非所有应用程序都使用相同的数据,有些应用程序使用数据的子集
  • 为了减少 API 调用的重复,我们希望“小商店”能够从“主”商店同步数据
reactjs redux micro-frontend
1个回答
0
投票

正如@estus 注意到的那样

数据结构是相同的,但并非所有应用程序都使用相同的数据,有些应用程序使用数据的子集 - 是的,这看起来是单个商店的一个很好的用例。

...但是对我来说这是 graphQL/Apollo 的完美案例

您可以将数据获取(甚至整个本地应用程序状态)移动/委托给一个“引擎”,并且它对于所有应用程序部分(相同的 API 端点)的工作方式完全相同。

这种方法有很多好处:

  • 从应用程序状态中分离数据;
  • 缓存和查询批处理(不仅删除重复项,而且将多个查询“粘合”在一个查询中);
  • 缓存策略(仅网络,仅缓存);
  • API拼接(未来扩展、包装外部服务)...

Apollo 有一个不错的 starter(包含 redux 部分)。

PS。 Apollo 可以使用 REST API

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