Size: a a a

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

2021 January 20

RL

Roman Lykov in GraphQL — русскоговорящее сообщество
Alexey Mikhaylov
ну стоит, но я его закомментил чтобы точно не оно было
еще вариант, typePolicies какой-нибудь кастомный в кэше
источник

AM

Alexey Mikhaylov in GraphQL — русскоговорящее сообщество
тоже ничего такого нету.. даже если бы было, в каком случае изменение кеша должно тригернуть перезапрос данных?
источник

RL

Roman Lykov in GraphQL — русскоговорящее сообщество
Alexey Mikhaylov
тоже ничего такого нету.. даже если бы было, в каком случае изменение кеша должно тригернуть перезапрос данных?
ну там могла бы быть функция, которая дополнительно делает запрос, например
источник

ОХ

Олег Хатеев... in GraphQL — русскоговорящее сообщество
Alexey Mikhaylov
привет, используем apollo
есть несколько запросов выполняемых с помощью useQuery

один запрос на список - выполняется, всё ок
потом при открытии модалки идет запрос на доп данные по словарикам - выполняется и после того как он выполнился почему-то дергается еще раз запрос на список. сам дергается
никаких ререндеров списка не происходит в этот момент, никаких рефетч query нет, тупо query на список выполняется еще раз
ни у кого не встречлось?
ну или может подскажите хотя бы куда копать..а то хрень какая-то
Было такое поведение. Пришел к выводу, что меняется кэш, который эта квери отслеживает, это почему то тригерит вызов. Если квери списка сделать fetchPolicy no-cache, тогда все хорошо становится.
Как обходное решение сделал, у списка сделать cache-first и обновлять данные через refetch
источник

AM

Alexey Mikhaylov in GraphQL — русскоговорящее сообщество
я почему-то предполагал что это "отслеживание" заключается в апдейте кеша исключительно в нужное время автоматом, но не автоматом перезапрашивать данные когда никто не просил..
источник

AM

Alexey Mikhaylov in GraphQL — русскоговорящее сообщество
у нас вроде и есть cache-first, по дефолту..
источник

ОХ

Олег Хатеев... in GraphQL — русскоговорящее сообщество
Ну тип структура сущности поменялась(дозаказали фул данные), он проинвалидировал видимо для квери листа сразу.
Ну это мое предположение.
источник

AM

Alexey Mikhaylov in GraphQL — русскоговорящее сообщество
ну он же должен тупо обновить в кеше
источник

AM

Alexey Mikhaylov in GraphQL — русскоговорящее сообщество
зачем заново на сервер ходить
источник

AM

Alexey Mikhaylov in GraphQL — русскоговорящее сообщество
но как бы то ни было похоже именно на это, что какое то изменение  в кеше тригерит повторное обращение к серверу. пытаюсь понять как так..
источник

AM

Alexey Mikhaylov in GraphQL — русскоговорящее сообщество
из интересного -
если сделать так для списка
     fetchPolicy: 'cache-first',
     nextFetchPolicy: 'cache-only',
то после того как выполняется некоторые другие запросы список тупо очищается
источник

AM

Alexey Mikhaylov in GraphQL — русскоговорящее сообщество
в теории это ж значит что список не закешировался
источник

ОЗ

Олег Зголич... in GraphQL — русскоговорящее сообщество
всем привет, сразу извиняюсь за нубский вопрос. graphql выступает в роли прокси, не содержит в себе логики, далее дергает обычный рест. не совсем понимаю, как правильно организовать авториацюи, сейчас это обычный метод в апи. делать через мутации, квери или лучше вообще получить токен напрямую из апи, а далее передавать токен в заголовках graphql и с апи работать даллее через граф
источник

АК

Алексей Козин... in GraphQL — русскоговорящее сообщество
Олег Зголич
всем привет, сразу извиняюсь за нубский вопрос. graphql выступает в роли прокси, не содержит в себе логики, далее дергает обычный рест. не совсем понимаю, как правильно организовать авториацюи, сейчас это обычный метод в апи. делать через мутации, квери или лучше вообще получить токен напрямую из апи, а далее передавать токен в заголовках graphql и с апи работать даллее через граф
Лично я делал так:
login мутация устанавливает auth cookie
Apollo нормально куки подхватывает
Дальше все запросы с этот кукой

Таким образом бэк целиком контролирует аутентификацию: что за куку выставить, когда ее экспарить, как продлить
источник

ОЗ

Олег Зголич... in GraphQL — русскоговорящее сообщество
Алексей Козин
Лично я делал так:
login мутация устанавливает auth cookie
Apollo нормально куки подхватывает
Дальше все запросы с этот кукой

Таким образом бэк целиком контролирует аутентификацию: что за куку выставить, когда ее экспарить, как продлить
спасибо, я так и делаю, просто не уверен был, что правильно
источник

АК

Алексей Козин... in GraphQL — русскоговорящее сообщество
Олег Зголич
спасибо, я так и делаю, просто не уверен был, что правильно
Да там нет правильного способа

Стандартный Apollo introspection не умеет работать с куками, для playground придется отдельное приложение ставить
источник

AM

Alexey Mikhaylov in GraphQL — русскоговорящее сообщество
Alexey Mikhaylov
привет, используем apollo
есть несколько запросов выполняемых с помощью useQuery

один запрос на список - выполняется, всё ок
потом при открытии модалки идет запрос на доп данные по словарикам - выполняется и после того как он выполнился почему-то дергается еще раз запрос на список. сам дергается
никаких ререндеров списка не происходит в этот момент, никаких рефетч query нет, тупо query на список выполняется еще раз
ни у кого не встречлось?
ну или может подскажите хотя бы куда копать..а то хрень какая-то
появился свет в конце тунеля, кажется один запрос перезаписывает кеш другого изза того как реализован мерж в кеше и это както тригерит перезапрос
источник
2021 January 21

{

{ Kirill } in GraphQL — русскоговорящее сообщество
Всем привет!
Помогите пожалуйста разобраться с GraphQL + Polaris.
Как мне получить данные из запроса GraphQL  в компонент ResourceList?
Кажется сейчас, когда я получаю данные в items={data.products.edges}, компонент ResourceList воспринимает их как простой массив. Как мне извлечь все id и title?
Вот заспрос:
источник

{

{ Kirill } in GraphQL — русскоговорящее сообщество
источник

{

{ Kirill } in GraphQL — русскоговорящее сообщество
Вот компонент:
источник