Apollo Client React容器将创建的元素添加到分页的元素列表中,而无需进行补充



这个标题非常令人困惑,但是我将尝试解释我能做的最好的。我有一种情况,我正在收集和显示React Native中服务器中数据元素的列表。它使用将GraphQl参数发送到服务器的查询,以将初始请求限制为前15个元素。

query GetElements ($count: Int) {
    elements (count: $count) {
            id
            name
            tye
    }
}

如前所述,这将以15个元素的初始计数查询主列表。

我有一个应用程序的另一页,用户可以使用其他GraphQl查询在后端创建新元素。

我的问题是:是否有一种方法可以轻松更新主元素列表,以包括新创建的元素而不执行任何添加网络请求?换句话说,只要创建命令成功,我都希望能够简单地将新元素添加到主元素的主列表中。

问题是:更新代理上的Apollo的readQuery命令不会返回给我的适当数据集,除非我知道与初始查询一起发送的变量;这包括分页count变量。

现在,您可以定义查询缓存商店的密钥:

 query AllItems($cursor: String, $limit: Int, $query: String) {
  items(cursor: $cursor, limit: $limit, query: $query) @connection(key: "AllItemsQuery") {
    count
    cursor
    has_next
    has_prior
    data{
      ...CoreItem
    }
  }
}

如果您想接收添加的项目,似乎您想要订阅:: http://dev.apollodata.com/react/subscriptions.html

最新更新