当前位置: 首页 > 知识库问答 >
问题:

在未定义的对象上找不到字段的缓存结果中的readQuery

步博厚
2023-03-14

我开始使用graphQL和Apollo。我正在做一些简单的查询和修改,但是当我尝试从apollo缓存中访问数据时,我总是得到“Can't find field me on object undefined”,但是当使用apollo chrome插件时,它返回正确的数据。

const ME_QUERY = gql`
query {
    me {
    _id
    username
    password
    exchanges {
        name
        active
        }
    }
}
`;

<Query query={ME_QUERY}>
  {({loading, error, data}) => {
    if (error) {
      return <Error error={error.message} />;
    }
    if (data) {
      console.log(data, 'data');
    }
    return <div>asdf</div>
  }}
</Query>
componentDidMount() {
    console.log(this.props.client.readQuery, 'propps');
    const  user = this.props.client.readQuery({
        query: gql`
{
  me {
    _id
    username
    password
    exchanges {
      name
      active
    }
  }
}
      `
});
console.log(user, 'user');

哪个对象未定义?知道为什么我的查询失败了吗?

共有1个答案

郁明诚
2023-03-14

您可能使用的是Apollo Client>2.5,它在本地处理状态。有关详细信息,请阅读迁移指南。

  • 使用默认客户端解析程序解析本地状态
  • 使用cache.write将默认数据写入缓存。这是导致崩溃的迁移部分。
 类似资料:
  • 嗨,我正在尝试学习hashcode()和equals()方法的目的。我尝试了以下程序。 输出: 我有两个疑问: 1) 我认为HashMap将包含一个条目,因为两个对象(ob1和ob2)的hascode是相同的。有人能解释为什么HashMap中有两个条目吗? 2)为什么返回false?

  • 问题内容: 干草堆文档中的默认搜索表单上已显示“未找到结果”。当我尝试在searchqueryset上调用count时,出现此错误。 问题答案: 尚不支持Elasticsearch版本5(http://django- haystack.readthedocs.io/en/v2.5.1/installing_search_engines.html#elasticsearch ): Haystack当

  • null 根据密钥在缓存中查找 如果找到,则从缓存返回结果 如果未找到,则返回NULL 我不想在cache-miss的情况下更新缓存,有没有办法使用spring注释来做到这一点

  • 我在一个活动的片段中有一个列表,它启动了一个detailactivity,其中包含一个片段,其中包含关于所选对象的信息。 如果选择了其中一个操作项,则活动的结果为OK,如果再次选择,则结果切换回Cancelled。我只想在用户导航回列表时传递这个结果。我已经消除了几个问题,并且在listfragment中使用了onActivityResult函数,但结果代码不是我传递的。调试时,我还注意到list

  • 问题内容: 我想将-object 保存到Android存储中的某个位置以快速检索并在其中显示数据。 这可能吗?如果可以,那么SQLite或外部存储适合哪种技术? 问题答案: 例。 并从活动中致电 不要忘记在清单文件中使用write_external_storage权限。