【问题标题】:Nested query cache redirects in ApolloApollo 中的嵌套查询缓存重定向
【发布时间】:2018-12-26 07:37:45
【问题描述】:

我有一个关于 Apollo 中的 cacheRedirects 的问题,我有一个项目概述和一个详细视图。我希望将详细视图缓存重定向到概述中的项目(如文档中的the book example)。

唯一的问题是我想重定向到的东西只能从更大的父查询中查询。

所以扩展书籍示例会是这样的:

# for all books
library (id: ID) {
    books (params) {
        id
        title
    }
}

# for a single book
library (id: ID) {
    book (id: ID) {
        id
        title
    }
}

如果我想获取一本书,我会重定向到什么地方?

我不认为我可以这样做,因为我实际上是为了取书而取图书馆:

cacheRedirects: {
    Query: {
        book: () => {
            // return book id from cache
        }
    }
}

有没有办法将一本书的查询(通过library)重定向到一本书的数据?还是我想错了?

【问题讨论】:

  • 感谢您发布此信息,它帮助了我。不过,我很好奇,在您的示例中,您为什么不能直接查询一本书?是不是不同库之间的id不是唯一的?

标签: apollo react-apollo apollo-client


【解决方案1】:

我不知道你也可以直接解析类型,所以在这种情况下:

cacheRedirects: {
  Library: {
    book: (_, args) => toIdValue(dataIdFromObject({ id: args.id, __typename: 'Book' }))
  }
}

应该可以从图书馆重定向到缓存的书。

【讨论】:

    猜你喜欢
    • 2020-08-01
    • 2019-10-26
    • 2020-01-13
    • 2019-04-24
    • 2019-09-12
    • 2020-06-19
    • 2019-01-28
    • 2023-03-27
    • 2020-05-02
    相关资源
    最近更新 更多