【发布时间】:2020-09-26 11:37:12
【问题描述】:
我正在尝试构建一个 next.js 服务器端呈现的博客。为此,我需要对帖子数据进行分页。但是,我还没有找到一种方法来使用 firebase 提供的查询游标对数据进行分页。建筑查询代码为:
let postsQuery = firebase.firestore().collection('/posts').orderBy('postedOn', 'asc').limitToLast(10);
if (currentTagFilter !== 'All') {
postsQuery = postsQuery.where('tag', '==', currentTagFilter);
}
现在,这适用于第一页,但我不知道如何请求接下来的 10 个帖子。我本可以保存查询的第一个文档并使用 .endBefore(firstPost)。但是,如果我在 _app.js 中创建一些状态并将第一个文档保存在一个数组中,例如,我无法找到如何在 getServerSideProps 中使其可访问。更不用说,如果用户直接进入/page/2,则不会向他显示任何内容,因为尚未执行对第1页的查询。
如何正确分页数据?
【问题讨论】:
标签: firebase google-cloud-firestore next.js