зрения производительности. Есть график который подгружает данные с бэкенда, нужно отображать график за год, за месяц, за неделю и за день. Так вот, как лучше сделать, запрашивать один раз данные с сервера за целый год(json с 365 записями * 24 график по часам) и делать фильтрацию на фронте или на каждое изменение фильтра, каждый раз запрашивать данные за год(12 записей), за месяц(30 записей), за неделю(7 записей) и за день(24 записи)?
Второе
Т.е. лучше будет несколько раз с бэкенда запрашивать данные?
Да, так логичней намного
Ок, спасибо)
второе, только не каждый раз запрашивать на изменение фильтра а кэшировать и задать более менее логичный ttl. Еще можно префетчить все заранее чтоб спинеры не крутить
Ох, что сложно. А есть какой-нибудь пример как надо делать?
ну тык, эт тебе не кнопки раскрашивать 🙂
пример - изучи какой нибудь react-query
Так там же всё равно получится что запрос будет за всеми данными, просто это будет невидимо для юзера, верно? Получается будут запрашиваться все запросы, но по очереди и юзер заметит только первую крутилку для отображения графика(за год, например), а остальные загрузятся позже и когда юзер изменит фильтр на месяц например, то данные моментально отобразятся. Верно?
Не моментально. Но если данных немного, можно и одним запросом
Насколько немного? 365 записей это много? Пока не факт что потребуется детализация по часам
А 365 записей - смотря что имеется ввиду.
Одна запись это дата и значение в виде числа.
Это х*йня. Грузи в таком виде, на фронте сделай фильтрацию.
А что больше нагружается при запросе такого массива? Бэк или фронт?
если фильтрация на фронте, то фронт
При запросе - фронт, при ответе бек. Сравнение нужно с целью чего?
Просто для понимания)
Зависит от машин клиента и сервера. А, ты троллишь, наверное )
Да не троллю я, рил первый раз с этим столкнулся и бэкендер тоже не в курсе как лучше)
Каждый раз. А если ты еще и кешируешь запросы то ваще бомба
Обсуждают сегодня