Size: a a a

React — русскоговорящее сообщество

2020 December 29

𝓐

𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼... in React — русскоговорящее сообщество
просто не до конца понял что там и как)
источник

RS

Rustam Sahatov in React — русскоговорящее сообщество
𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼
Это реальный кейс я такое видел
это не фотошоп, я такое видел в горах Краснодарского края
источник

𝓐

𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼... in React — русскоговорящее сообщество
Rustam Sahatov
это не фотошоп, я такое видел в горах Краснодарского края
Чупакабра по реактовски
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼
просто не до конца понял что там и как)
Будет реальный кейс, возвращайтесь в чат с конкретным вопросом
источник

𝓐

𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼... in React — русскоговорящее сообщество
Я просто задал вопрос извини что ли). Вот тебе реальный кейс:
Есть компонент отображения статей, но грузяться по 10 штук, а не все сразу. Тоесть он с пагинацией.

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

M

Mike in React — русскоговорящее сообщество
𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼
Я просто задал вопрос извини что ли). Вот тебе реальный кейс:
Есть компонент отображения статей, но грузяться по 10 штук, а не все сразу. Тоесть он с пагинацией.

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

DP

Dmitry Plyaskin in React — русскоговорящее сообщество
𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼
Я просто задал вопрос извини что ли). Вот тебе реальный кейс:
Есть компонент отображения статей, но грузяться по 10 штук, а не все сразу. Тоесть он с пагинацией.

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

𝓐

𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼... in React — русскоговорящее сообщество
Mike
Пусть возвращает посты и флаг hasNext
тут не система load more, тут система  страниц (
источник

M

Mike in React — русскоговорящее сообщество
𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼
тут не система load more, тут система  страниц (
Ну так ты уже знаешь сколько ты загрузил
источник

𝓐

𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼... in React — русскоговорящее сообщество
Dmitry Plyaskin
что мешает еще один флаг добавить?
ничего, просто решил спросить, как это вы видите выход из ситуации.
источник

RS

Roman Still in React — русскоговорящее сообщество
выход из ситуации разрабатывать приложение совместно с бекендом, а не каждый в своем огороде и делай че хочешь
источник

RS

Roman Still in React — русскоговорящее сообщество
а делать второй запрос всего количества постов, чтобы просто узнать количество имхо глупость
источник

𝓐

𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼... in React — русскоговорящее сообщество
Я с вами полностью согласен, просто минус есть и во втором подходе при каждой загрузке новой порции мы просим количество постов дополнительно.
источник

RS

Roman Still in React — русскоговорящее сообщество
А вы считаете, что количество не может поменяться во время перехода по страницам?
источник

𝓐

𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼... in React — русскоговорящее сообщество
Не задумывался что то, аргумент кстати
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼
Я просто задал вопрос извини что ли). Вот тебе реальный кейс:
Есть компонент отображения статей, но грузяться по 10 штук, а не все сразу. Тоесть он с пагинацией.

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

𝓐

𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼... in React — русскоговорящее сообщество
Dmitriy Shuleshov
Пускай бек прочтет как пагинацию норм делать курсоры или limit\offset ваш вариант. Никак вышеуказанная проблема не соотносится с реактом
передам, но вот только оно уже на лимитах же
источник

И

Иван in React — русскоговорящее сообщество
𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼
Я просто задал вопрос извини что ли). Вот тебе реальный кейс:
Есть компонент отображения статей, но грузяться по 10 штук, а не все сразу. Тоесть он с пагинацией.

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

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼
передам, но вот только оно уже на лимитах же
лимит оффсет метод всегда должен возвращать как минимум
entries
offset
limit
total_count
источник

𝓐

𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼... in React — русскоговорящее сообщество
Ясно пойду палками бить, а то он отмазки пилил, что это отдельные запросы к БД и это мои проблемы. Спасибо вам большое и еще раз извиняюсь за тупой кейс.
источник