0

我正在使用 react-apollo 并创建一个应用程序,该应用程序需要每 X 秒同步一次应用程序的整个本地数据存储。

所以本质上,想象一下<input1 /><input2 />两者都需要定期同步到服务器。

<App>
   <input1 />
   <input2 />
</App>
  • GraphQL 应该包装哪个组件以实现同步?
  • 是否可以在 redux 操作中使用 graphql 突变,以便在发送操作时发生突变?
4

2 回答 2

1

“阿波罗方式”是让输入类似于 React 绑定输入,但绑定将通过查询和突变发生,并添加乐观响应以提高交互性。

为每个输入创建突变,并在输入更改时调用它们。提供乐观的响应,以便用户操作立即生效。

同样,创建一个查询来获取输入值,并使用这些来初始化输入。

如果其他人也可以更改输入,您将需要设置订阅。

于 2017-03-31T11:10:12.373 回答
0

我建议您为整个应用添加订阅。它可以像这样工作:

  • 当您打开页面时,您查询的值<input1 /><input2 />
  • subscribeToMore然后你通过查询的功能订阅服务器。
  • 服务器有一个循环,每 x 秒发布一次订阅数据。这将是数据<input1 /><input2 />
  • 然后你有一些可能性,你可以手动更新商店,或者你在输入中添加一个 id 并让 apollo 客户端通过dataIdFromObject.
于 2017-03-31T06:08:42.923 回答