在查询上遇到了一个子选择,但是商店没有对象引用Apollo Link State

Tan*_*eti 8 apollo reactjs graphql

这是从服务器获取所有数据的主要查询.

查询从服务器获取数据

然后我想在Apollo链接状态下设置它.

要设置链接状态,这是我的解析器.

用于链接状态的解析器

这是我的客户端/缓存查询以获取先前的缓存状态.

本地客户端/缓存查询

我不知道我在哪里遗漏了什么.

ApolloError.js:37未捕获(在承诺中)错误:网络错误:遇到查询的子选择,但商店没有对象引用.除非您有直接操作商店的自定义代码,否则在正常使用期间永远不会发生这种情况; 请提出问题.

Era*_*akk 0

您可能有一个查询设置来获取嵌套对象,但您没有从该嵌套对象请求任何内容。

在此示例中,hero有两个属性,类型的名称string和类型的ultimateAbilityAbilityAbility名称:string冷却时间: number

考虑到这一点,以下内容可能会给您带来该错误,因为我们正在请求ultimateAbility(我们的嵌套对象),但我们没有告诉图形我们想要从中得到什么:

{
  hero {
    name
    ultimateAbility
  }
}
Run Code Online (Sandbox Code Playgroud)

正确的方法是只添加您想要从UltimateAbility获得的道具:

{
  hero {
    name
    ultimateAbility {
      name
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我的背景:我最近经历了这个,在挖掘了很多 PR 后,我的团队确定了这一点。