Apollo 正在 React 中混合 GraphQL 查询的结果

Dan*_*ein 3 apollo reactjs graphql react-apollo

我正在拨打电话,返回问题及其答案。当我直接向服务器发送此消息时,响应符合预期。此外,当 React 进行调用并且我检查开发人员工具时,响应符合预期。

一旦我收到阿波罗的回应,数据就变得混杂,结果也相互渗透。

您会注意到,在这两张图中,扩展一些结果后的结果是相同的。我不确定是什么原因造成的。

在此输入图像描述

在此输入图像描述

为什么要结合自由形式?

我的设置是这样的:

我导入查询,然后在 Apollo 客户端上运行:

this.props.client.query({ query: getCoreObjectsQuery, variables: { companyId: 1}})
              .then((result) => {
                console.log(result, 'getCoreObjectsQuery')
Run Code Online (Sandbox Code Playgroud)

从那里,当我查看 getCoreObjectsQuery 时,它看起来像上面的图像!

Dan*_*ein 7

哇!原来是 Apollo 客户端缓存错误。

Kamranicus.com 有一篇关于此问题的非常有用的文章,但对于任何寻求快速解决方案的人来说:

__typename @skip(如果: true)

questions{
      id
      __typename @skip(if: true)
      coreId
      question
      isCore
      type
      answer:answerForCoreId{
         id
         __typename @skip(if: true)
         freeform
         url
         choice {
           id
           __typename @skip(if: true)
         }
       }
    }
Run Code Online (Sandbox Code Playgroud)

id 和 _id 缓存!