gpt4 book ai didi

relayjs - 在内部,如何为子查询中继缓存分页?

转载 作者:行者123 更新时间:2023-12-01 15:56:27 25 4
gpt4 key购买 nike

假设我有一个博客:

  • 1 个博客有很多帖子
  • 1 个帖子有很多人点赞
  • 1 个帖子有很多评论
  • 1条评论有很多人点赞

在我博客的首页上,我想显示前 10 个帖子。对于每个帖子,我想显示 10 个最近的点赞者、5 个最近的评论以及最近 10 个喜欢每个评论的人。 (数字并不重要,我只是在设置类似于 facebook 的东西)。

所以我的查询可能看起来像这样:

query getPosts(
$postCount: Int,
$likersCount: Int,
$commentCount: Int,
$commentCursor: ID,
$commentLikersCount: Int) {
recentPosts(first: $postCount) {
id,
title,
body,
likers(first: $likersCount) {
id,
name
},
comments(first: $commentCount, after: $commentCursor) {
id,
title,
body,
likers(first: $commentLikersCount) {
id,
name
},
}
}
}

如果我使用新的 $commentCursor 重新提交此查询以加载更多评论,中继如何缓存数据以便它知道在本地获取其他所有内容?我得到了商店的基本图形架构,但对于像这样的嵌套事物,我在调试器中感到困惑。

最佳答案

通常您会通过更改 first: $commentCount 来扩展分页范围参数,你不会使用 after争论。就说你改$commentCount来自 510 , 中继知道获取位置 6 到 10 的项目,因为它已经拥有从 1 到 5 的项目。具体来说,你会看到它发出一个 first: 5, after: <cursor>。查询,其中<cursor>是第 5 个评论的光标(为此目的,中继将自动为连接中的每个边获取光标,即使您没有明确要求它们)。

关于relayjs - 在内部,如何为子查询中继缓存分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35105844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com