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

时间:2018-11-18 10:09:47

标签: reactjs redux redux-store micro-frontend

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

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

我知道在这种情况下,我们应该使用一个商店,但是所有选择的商店都准备使用多个商店。

在商店之间同步数据的最佳方法是什么?如何?

几点:

  • 所有数据均已从我们的后端服务中获取
  • 数据结构是相同的,但并非所有使用相同数据的应用程序都使用相同的数据,
  • 为了减少API调用的重复,我们希望“小型存储”能够同步“主”存储中的数据

1 个答案:

答案 0 :(得分:0)

@estus注意到

  

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

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

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

这种方法有很多好处:

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

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

PS。 Apollo可以使用REST API