@topuserman

JS: Бесконечная загрузка контента без лагов страницы — какие есть библиотеки?

У нас такая задача:

есть бекенд api, который по запросу может отдавать новости (например).
запрашивать можно столько новостей, сколько надо (например по 10 новостей).
новостей очень много.

необходимо сделать блок новостей, чтобы при прокрутке (или нажатии на кнопку "Загрузить еще") подгружались новости.

если решить задачу "в лоб", то если клиент запросит новости 100 раз, то в блоке с новостями будет очень много новостей из-за чего начнет тормозить страница.

я предполагаю, что необходимо каким-то образом удалять предыдущие новости, чтобы уменьшить объем контента на странице. но если пользователь решит прокрутить контент обратно Вверх, то эти же новости должны появиться или погрузиться.

самому такое достаточно сложно написать, есть ли какие-то сторонние решения/библиотеки ?
  • Вопрос задан
  • 387 просмотров
Пригласить эксперта
Ответы на вопрос 3
@rPman
это называется virtual scrolling
погугли готовые решения есть, чаще заморочки с поддержкой одновременно pc/mobile

по функционалу это очень простая библиотка, чтобы не лагало, нужно запрашивать данных больше чем выводится, т.е. окно данных в памяти должно быть больше раза в 3-5 чем то что выводится на экран, и при скроллинге запрашивать доп данные для этого виртуального окна в памяти.

Совет, если человек скролит с меньшим интервалом времени или сразу следующую страницу, запрашивай у бакэнда большего размера окно чем обычно, так как это типичный паттерн проскролировать 'подальше'
Ответ написан
Комментировать
@its2easyy
что то типа такого https://gitlab.com/catamphetamine/virtual-scroller, или поискать более популярный вариант с virtual scroller в названии
Ответ написан
Комментировать
@Kirill-Gorelov
С ума с IT
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы