我正在使用React Apollo向GraphQl查询。我有一个带有skip
和limit
分页的列表。有时,用户可以转到第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
}
}
}
`,
});