Бесконечный список и формула для нумерации страниц - PullRequest
0 голосов
/ 04 января 2019

У меня есть бесконечная нумерация страниц, сделанная на реактивном. Каждый раз, когда пользователь достигает конца страницы, новые данные начинают получать с сервера.

Есть несколько параметров, которые необходимо отправить с запросом на получение правильных данных.

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 голосов
/ 04 января 2019

Вы не описали, какие "неправильные результаты" вы получаете, но это выглядит как довольно простая ошибка.

Вы упомянули:

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» - ndash; это не обычный подход к поисковому вызову.

Попробуйте сохранить предел на 10 и измените только смещение. При таком подходе ваш код (псевдо) скажет «дайте мне следующие 10 пунктов после offset», что, как я подозреваю, является вашим намерением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...