【问题标题】:Unable to use @client @export variable in query in Apollo GraphQL无法在 Apollo GraphQL 的查询中使用 @client @export 变量
【发布时间】:2020-04-06 06:29:38
【问题描述】:

我只是想使用@client(本地缓存)变量作为我的 apollo 服务器的查询参数。文档引用了@export 指令 (https://www.apollographql.com/docs/react/data/local-state/#querying-local-state)

由于某种原因,我无法做类似的事情

export const GET_COMPANY_DATA = gql`
  query GetCompanyData($id: ID!, $name: STRING!) {
    group @client @export(as: "name")
    getCompanyData(id: $id) {
      company {
        groups(name: $name) {
          data
        }
      }
    }
  }
;

两个查询单独工作,例如:

{
  group @client
}

从本地缓存返回一个字符串

export const GET_COMPANY_DATA = gql`
  query GetCompanyData($id: ID!, $name: STRING!) {
    getCompanyData(id: $id) {
      company {
        groups(name: $name) {
          data
        }
      }
    }
  }
;

返回正确的对象类型

在文档中,他们展示了这个示例,没有参考架构:

const query = gql`
  query currentAuthorPostCount($authorId: Int!) {
    currentAuthorId @client @export(as: "authorId")
    postCount(authorId: $authorId) @client
  }
`;

我做错了什么?我觉得我错过了一些基本概念......

【问题讨论】:

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


    【解决方案1】:

    我想通了;设置 apollo 客户端时,即使没有,也必须添加 resolvers 属性:

    const client = new ApolloClient({
      cache,
      link: authLink.concat(httpLink),
      **resolvers: {}**
    });
    

    【讨论】:

      猜你喜欢
      • 2018-02-10
      • 2018-03-02
      • 2018-11-06
      • 2019-03-13
      • 1970-01-01
      • 2021-04-24
      • 2019-11-16
      • 2018-01-27
      • 2017-04-16
      相关资源
      最近更新 更多