在浏览器中使用apollo服务器

时间:2019-11-06 12:54:05

标签: graphql apollo react-apollo apollo-client apollo-server

我想在客户端的浏览器中使用apollo-server。那可能吗?让我解释一下为什么我认为会很棒。

我希望我的React App具有统一的抽象数据API。我希望这个API是GraphQL(不是Redux,不是自定义钩子/上下文,仅是useQuery)。我很乐意做这样的事情:

  1. 创建一个“客户端架构”,实际上是服务器架构和本地状态的结合。
  2. 在本地编写解析器。这是关键。他们可以简单地默认为标准API调用,但也可以使用本地状态。或两者兼有。

我知道在apollo-client中有局部状态的可能性(此处描述为:https://www.apollographql.com/docs/react/data/local-state/)。但是此解决方案缺少两件事:

  1. 我不想在每个本地查询或变异中都使用@client标志。这没有道理,不是抽象的API。如果UI调用query { products },则它不希望知道它是本地的还是需要某些服务器操作。如果它是本地的,它将总是返回非空的data,而loading将始终等于true。多亏了这一点,我可以构建面向未来的UI,如果我将实现的某些部分从客户端转移到服务器,或者反过来,则无需更改。
  2. 我无法覆盖服务器架构。因此,如果服务器模式中有一个query { products },我将无法在本地覆盖它以使其做其他事情(例如,对本地状态进行一些处理)。

我很想听听我的想法是否有意义以及是否有可能实现。

0 个答案:

没有答案