首页 > 解决方案 > 为什么 Apollo 使用较旧的 GraphQL 查询而不返回提供的字段

问题描述

所以我有两个与 React-Apollo 一起使用的 GraphQL 查询:

query query1($id: String, $offset: Int, $limit: Int) {
  item: data(id: $id, offset: $offset, limit: $limit) {
    key
    name
    description
  }

query query2($id: String) {
  item: data(id: $id) {
    key
    name
    description
    score
  }

我使用 query1 调用client.query它并且它工作正常

然后我再次使用 query2 调用client.query,但这一次,该score字段没有返回给我。我可以看到它在网络响应中返回,但是当我尝试将它记录到控制台时,我得到的只是key, name, description字段。我尝试将 cachePolicy 设置为,no-cache但它只返回相同的内容

为什么要这样做?

  async doSomething() {
    let data = await this.props.client.query({
      query: query1,
      variables: { id: id },
      fetchPolicy: 'no-cache'
    });
    this.myFunc(data.data.item)
  }


  myFunc = data => {
    console.log(data)
  };

标签: graphqlapolloreact-apollo

解决方案


推荐阅读