Firestore分页问题



在构建一个react原生应用程序时,我使用Firebase作为后端服务。

//最新版本的react原生火球

我使用firestore和他的工具(startAfter、endBefore和limit(为大量数据集合构建了一个简单的分页。这种分页使用下一个和上一个按钮,一切都很好。

问题是,无论是否有更多的数据要加载,我都想禁用这些按钮。

至于上一个按钮,创建一段状态以跟随用户所在的页面,然后在状态为页面1时禁用该按钮就足够了。(这可能不是最好的举措,所以如果你有更好的解决方案,请随时分享(

但对于下一个按钮来说就更难了。我做了一些研究,找到了一些解决方案,比如使用极限数。如果限制是<到页面中显示的数据数量,然后禁用该按钮。这是有效的,但我的问题是,如果limit=一页中的数据数,会怎么样?之后没有更多的数据要加载。

更准确地说,让我们举一个例子,限制=9/显示的数字数据=7=>按钮已禁用✅limit=9/显示的数字数据=9=>按钮仍处于活动状态❌(这9个元素是最后一个静止的元素(

我想把我的电话号码从目前的9改为10。并且仍然每页只显示9个元素(仍然跟踪lastVisible道具的第9个元素,以便从它而不是从第10个元素调用startAfter(。然后检查第10个元素是否存在,以禁用下一个按钮。但这都是理论,就目前而言,我看不出有什么方法可以做到这一点,而不打破我的endBefore和startAfter调用过多。

我想听听你对这个解决方案的看法,也许你能帮助我正确使用它。或者,如果你有另一个解决方案来实现我的目标

感谢您抽出时间

您描述的技巧实际上是解决此问题的正常方法。因此,在当前页面上多加载一个文档,然后检查该文档是否存在(但不显示其内容(,以确定是否显示/启用按钮以转到下一页。

最新更新