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

Я ведь правильно понимаю - если вызвать один и тот

же хук useQuery с одними и теми же параметрами в разных компонентах одной и той же страницы - то гарантии того, что на бэк не отправится 2 запроса, нету?

8 ответов

11 просмотров

Можно установить приоритеты (fetchPolicy): 'cache-first' | 'network-only' | 'cache-only' | 'no-cache' | 'standby' То есть поставишь fetchPolicy: 'network-only' и всегда будет летать запрос на сервер Но я подмечу, что юзаю Apollo. Уверен есть то же самое и в Relay

Eugene-Visotskiy Автор вопроса
Hooba Booba
Можно установить приоритеты (fetchPolicy): 'cache-...

у меня был прикол с cache-first что летело 2 запроса, но потом один cancel-ился, и в нетворке он был красным. Не думаю что это бест-практис... (тоже аполло юзаю)

Eugene Visotskiy
у меня был прикол с cache-first что летело 2 запро...

Тут ещё такой момент, что скорее всего тебе не надо оба отправлять на сервер, если один свежее другого, второй просто возьмёт обновлённое из Кеша. Но это мои догадки. Я такой же ещё профан в GraphQL .

Eugene-Visotskiy Автор вопроса
Hooba Booba
Тут ещё такой момент, что скорее всего тебе не над...

угу, в теории всё так. На практике уже есть нюансы

Eugene Visotskiy
угу, в теории всё так. На практике уже есть нюансы

Ещё момент, если это удобно, может есть смысл сделать просто refetch, там где это надо.

Hooba Booba
Ещё момент, если это удобно, может есть смысл сдел...

Например у меня есть компонент с комментом, где можно его лайкнуть. Лайк у меня всегда летит на бэк. И в лайкХендлере я дергаю refetch коммента, что бы сразу отобразить изменение. То в твоём случае, если у тебя один из запросов дергается позже, то можно перед ним сделать refetch. Хотя мне кажется проще просто второй запросить сразу на бэк.

Eugene-Visotskiy Автор вопроса
Hooba Booba
Например у меня есть компонент с комментом, где мо...

не совсем понял, зачем тебе refetch, но выглядит так будто ты пытаешься реализовать костылями то что предоставляется функционалом cache.modify - https://www.apollographql.com/docs/react/caching/cache-interaction/#using-cachemodify

Eugene Visotskiy
не совсем понял, зачем тебе refetch, но выглядит т...

Вот я сюда сильно не заныривался ещё. Но как я понимаю это всего лишь модифицирует кеш. То есть лайкнул пост запросом на сервер, а вместо того что бы обновить, меняешь локальное состояние. А если за это время появились другие изменения в БД, то состояние компонента так и останется локальным.

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

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

А чем вам питонисты не угодили?😂
.
79
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
а чем лучше всего сделать глобальный лок, если много нодов, до сотни? ну то есть мне надо, чтобы некоторые операции с объектом не происходили одновременно. перемещение между н...
Д. П.
15
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Hi guys, I'm looking for a good LLM course. Is there any course to learn LLMs in advanced? I'm aiming to use them in my apps, so a perfect course in my openion, is not only a ...
Taha
14
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Карта сайта