分页的无限列表和公式

时间:2019-01-04 14:53:19

标签: javascript reactjs react-native math

我在react-native中有一些无限分页。 每次用户到达页面末尾时,新数据便开始从服务器获取。

应随请求一起发送一些参数,以获取正确的数据。

const data = { limit, offset };

limit变量确定需要加载多少个项目。
offset表示需要从数据库中的哪一点进行查询

所以简单地说就是页面的外观

第1页:

const limit = 10; // get 10 items 
const offset = 0; // start point

第2页:

const limit = 20; // get 20 items 
const offset = 10;

第3页:

const limit = 30; // get 30 items 
const offset = 30;

第4页:

const limit = 40; // get 40 items 
const offset = 60;

第5页:

const limit = 50; // get 50 items 
const offset = 100;

,依此类推。

,这就是我现在的代码中看起来不正确的结果的样子。

const initialValue = 10;
const limit = initialValue * config.page;
const offset = initialValue * (config.page - 1);

达到预期结果的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您尚未描述所得到的“错误结果”,但这看起来像是一个非常简单的错误。

您提到:

  

limit变量确定需要加载多少个项目。

这是一种常见的方法。 limit基本上是页面大小,表示“给我X个项目”。通常,limit将保持不变,仅计算offset。但是,您的代码会不断增加限制:

const limit = 10; // get 10 items
...
const limit = 20; // get 20 items
...
const limit = 30; // get 30 items 
...
const limit = 40; // get 40 items 
...
const limit = 50; // get 50 items 

这基本上是在说:“我已经滚动了10个项目,现在获得了下一个20。我已经滚动了这些项目,又获得了30、40、50个” –这不是常见的分页方法。

尝试将限制保持在10,仅更改偏移量。在这种方法中,您的代码将(伪)说“给我offset之后的10个项目”,我怀疑这是您的意图。