Вступить в клуб →
сложнаявопросСеть и хранение данных

В бесконечном скролле повторяются и пропадают записи при активной ленте

Лента подгружается страницами: GET /feed?offset=0&limit=20, затем offset 20, 40 и так далее. Новые публикации появляются вверху ленты постоянно, лента отсортирована по времени создания по убыванию.

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

В чём причина и что менять?

  • Пока пользователь листает, в начало вставляются новые записи и границы страниц сдвигаются — нужна пагинация по курсору от последнего показанного элемента
  • Причина в кеше на клиенте: достаточно очищать список перед подгрузкой очередной страницы
  • Причина в параллельных запросах страниц: хватит очереди, пропускающей один запрос за раз
  • Нужно увеличить размер страницы: чем реже подгрузка, тем реже пересекаются границы страниц, и при limit=200 проблема уходит сама собой

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела