JS: Бесконечная загрузка контента без лагов страницы — какие есть библиотеки?
У нас такая задача:
есть бекенд api, который по запросу может отдавать новости (например).
запрашивать можно столько новостей, сколько надо (например по 10 новостей).
новостей очень много.
необходимо сделать блок новостей, чтобы при прокрутке (или нажатии на кнопку "Загрузить еще") подгружались новости.
если решить задачу "в лоб", то если клиент запросит новости 100 раз, то в блоке с новостями будет очень много новостей из-за чего начнет тормозить страница.
я предполагаю, что необходимо каким-то образом удалять предыдущие новости, чтобы уменьшить объем контента на странице. но если пользователь решит прокрутить контент обратно Вверх, то эти же новости должны появиться или погрузиться.
самому такое достаточно сложно написать, есть ли какие-то сторонние решения/библиотеки ?
это называется virtual scrolling
погугли готовые решения есть, чаще заморочки с поддержкой одновременно pc/mobile
по функционалу это очень простая библиотка, чтобы не лагало, нужно запрашивать данных больше чем выводится, т.е. окно данных в памяти должно быть больше раза в 3-5 чем то что выводится на экран, и при скроллинге запрашивать доп данные для этого виртуального окна в памяти.
Совет, если человек скролит с меньшим интервалом времени или сразу следующую страницу, запрашивай у бакэнда большего размера окно чем обычно, так как это типичный паттерн проскролировать 'подальше'