Реализация галереии в SPA
Есть API, возвращающая JSON порциями по 100 объектов. В объектах, помимо основной информации присутствует ссылка на миниатюру изображения. Оптимально ли будет при рендере страницы делать 100 дополнительных запросов для загрузки картинок? Либо же есть более эффективное решение для организации API?
Ответы (1 шт):
Да, загрузка данных с пагинацией отличное решение. Точнее даже стандартное. Ваша задача найти идеальное соотношение объёма данных и количества запросов для их получения.
Делать запрос для каждого элемента не оптимально, т.к. придётся сразу сделать 100500 запросов. Загружать 100500 элементов за один раз так же не оптимально.
На стороне API
делаете эндпоинт, которые будет принимать нужные для выборки данные плюс номер страницы (для пагинации). Далее просто делаете выборку с использованием то й же пагинации (Для sql
- это LIMIT
и OFFSET
) и возвращаете клиенту.
Для реализации страниц с пагинацией можно использовать infinite scrolling
с подгрузкой данных, когда пользователь "долистал" к концу и нужно загрузить новую порцию данных