React Apollo:访问缓存以了解在分页中查询了多少个项目

时间:2019-09-04 20:30:12

标签: reactjs graphql apollo react-apollo

我正在使用React Apollo向GraphQl查询。我有一个带有skiplimit分页的列表。有时,用户可以转到第10页,然后单击某个项目以转到另一页。

查询是这样的:

query($limit: Int, $skip: Int, $sort: String, $order: Int, $fields: [String]) {
  sales(limit: $limit, skip: $skip, sort: $sort, order: $order, fields: $fields) {
    count
    pages
    items {
      ...item
    }
 } 
}

当用户在浏览器历史记录中返回列表时,它将使用默认变量进行查询。跳过0,限制为15。

如何访问缓存以确保查询获取所有缓存的项目?有没有一种方法可以在没有全局状态的情况下存储已缓存的限制/项目?

我尝试使用此方法读取缓存,但是它不起作用,因为在第一次渲染时缓存为空,并且没有使用该架构的查询:

const cache = client.readQuery({
    query: gql`
            query Sales {
                sales {
                    items {
                        id
                    }
                }
            }
        `,
});

0 个答案:

没有答案