том что на фласке API, а веб морда на вью. И когда отдаёшь в таблицу на фронт тысяч пятьдесят элементов, идёт прогруз (фронт захлёбывается), в этом плане фласковский пагинатор работает быстрее, но тогда это перестаёт быть SPA. Кто-то совмещал? Варианты есть в голове, но может кто-то подскажет что-то лучше :)
P.s. думаю навешать ивентлистнер функцию на все кнопки пагинатора отправляющую fetch на нужный API и отрисовывать.
Гугл виртуальный скрол или infinity scroll
Ммм приходится прогибаться под фронтендеров? Сочувствую)))
Нет, иногда нужно самому сделать что-то на фронте 🤷
А в чем проблема написать свой пагинатор с limit offset, или найти готовую либу под рест апи?
Как это с vue объеденить чтоб осталась "реактивность" и SPA?
При нажатии на кнопку с номером страницы вызывать сетстейт для хука "номер страницы". Делать фетч при изменении номера страницы (в реакте хук useEffect, в массиве зависимостей указали бы номер страницы), в нем вызываешь сетстейт для хука с данными Отрисовываешь таблицу из хука с данными. Типа такого: data.map(....) В таком случае как только его стейт поменялся, перерисуется таблица. Ну идея думаю во вью такая же, реализация (ну то как код выглядит) мб уж отличается. К слову это ж такой, типичный кейс...
Даже интересно, что значит прогибаться про фронтендеров, в постановке выше бэк выдает в фрон 50 к объектов? Так только наркоманы делают)
Ну по дефолту некоторые джс либы для таблиц принимают данные и их пагинируют А вот всякие подходы с пагинацией, с отдельными запросами для страничек, для изменения количества записей на странице - это все на основе инфы о количестве записей нужно самим руками делать) Получается, что принять условные 50000 записей для фронтендера сильно быстрее с точки зрения разработки))))
возможно кому то и быстрее, но звучит как то дико. у меня в текущем проекте при любом чихе в объекте состояния фронат, дрегается ручка бэка и динамически формируется соответствующая строка SQL запроса. Естественно если пользоваться каким нить ORMмом, это будет заебисто писать, но тоже решаемо.
Обсуждают сегодня