如何在React / Apollo中构建订阅驱动的应用程序?

时间:2018-06-15 16:20:23

标签: reactjs apollo react-apollo apollo-client

我正在设计一个多用户应用程序,其中每个用户对模型的更改应该立即对所有其他活动用户可见。我正在寻找关于如何构建这样的东西的指导,阅读Apollo文档,我不清楚,许多领域似乎都是一个移动的目标。

显而易见的是,我希望使用订阅和可能 apollo-link-state。

由于我希望任何人做出的任何更改都可以被其他人看到,因此感觉更新本地状态是无关紧要的,并且所有组件都应该绑定到从API派生的状态。

我有点想象以下流程:

  • 应用程序启动
  • 组件从API
  • 填充其初始状态
  • 组件订阅其模型的更新
  • 一个用户修改模型中的值
  • 应用程序直接向API发送修改
  • API发送订阅更新
  • 相关组件更新其模型(所有客户端都看到此更新)

这对我来说是一个相当理智的设置。它避免了在用户更改内容时更新本地状态,然后将更新发送到API,然后只有其他客户端必须更新。所有客户都处于公平的竞争环境中。

对其他人来说这看起来是否合理?

0 个答案:

没有答案