169 похожих чатов

Я просто задал вопрос извини что ли). Вот тебе реальный

кейс:
Есть компонент отображения статей, но грузяться по 10 штук, а не все сразу. Тоесть он с пагинацией.

Вот флоу: Компонент отрендерился и показывается лоадер -> useEffect(получить статьи (10 штук)) -> отобразить посты и скрываем лоадер. Все бы ничего, но нужно еще получить общее количество постов (именно в БД общее) для построения пагинации на фронте, а на беке добропорядочный человек отдает нам только по 10 штук. Да мы можем попросить его отдавать и количество всех постов (норм варик?). Или же один раз отдельным запросом загрузить и общее количество постов (собственно в другом useEffect) . Тут собственно и получается у нас race condition. У нас могут еще не загрузиться посты, а их полное количество уже загрузиться,собственно спиннер уже пропадет в момент того что выполниться первым. Какой выход?

9 ответов

5 просмотров

Пусть возвращает посты и флаг hasNext

что мешает еще один флаг добавить?

aliheym- Автор вопроса
Mikhail Chukhnin
Пусть возвращает посты и флаг hasNext

тут не система load more, тут система страниц (

aliheym
тут не система load more, тут система страниц (

Ну так ты уже знаешь сколько ты загрузил

aliheym- Автор вопроса
Dimitri 👰🏼‍♀️🧝🏻‍♀️🤦🏼‍♀️
что мешает еще один флаг добавить?

ничего, просто решил спросить, как это вы видите выход из ситуации.

Пускай бек прочтет как пагинацию норм делать курсоры или limit\offset ваш вариант. Никак вышеуказанная проблема не соотносится с реактом

aliheym- Автор вопроса
Dmitriy Shuleshov
Пускай бек прочтет как пагинацию норм делать курсо...

передам, но вот только оно уже на лимитах же

Любой уважающий себя бэкендер не будет писать пагинацию руками. А все бэкенд-фремворки имеют встроенный механизм работы с пагинацией, который учитывает твой кейс

aliheym
передам, но вот только оно уже на лимитах же

лимит оффсет метод всегда должен возвращать как минимум entries offset limit total_count

Похожие вопросы

Обсуждают сегодня

Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
было так ;void set_http_ver(RESPD* ptr, char* version, uint32_t length) // example: 'RTSP/1.1 ' set_http_ver: mov eax, [esp + 4] mov ecx, [esp + 8] ...
Mixail Frolov
5
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
Evo 1.4.34 PHP 7.4 Все работало штатно. На ровном месте SimpleGallery начал выдавать ошибку Что может быть? Уже все переустановил по новой. Места хватает. Хостинг reg.ru
Paul Savchenkov
6
Карта сайта