Size: a a a

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

2021 November 02

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Фронтендеры пишут графкуэль запросы при разработке.

При билде запросы пишутся в базу и им выдается уникальный айдишник.

А в проде в рантайме, гоняются operationID и пременные.
источник

N👩

Nikita 👩🏻‍💻💭... in GraphQL — русскоговорящее сообщество
привет!
посмотрю, спасибо )
источник

N👩

Nikita 👩🏻‍💻💭... in GraphQL — русскоговорящее сообщество
во, это похоже на то, что я имею ввиду
посмотрю в эту сторону, спасибо
источник

N

Name in GraphQL — русскоговорящее сообщество
В Hasura, например, есть публикация REST (или RPC) запроса, который реализуется  GraphQL запросом. Выглядит примерно так:
источник

N

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

N👩

Nikita 👩🏻‍💻💭... in GraphQL — русскоговорящее сообщество
Это не совсем то, что мне нужно
Меня интересует, кто как на уровне архитектуры абстрагирует приложения от использования graphql
источник

N

Name in GraphQL — русскоговорящее сообщество
Ну это, вроде, тоже вариант. Hasura -- как шлюз/федеративный сервер используется, а REST-точки скрывают внутренности.
источник

QQ

Qaisar Qarashauly in GraphQL — русскоговорящее сообщество
Хотите спросить «как применить dependency inversion к graphql на фронте, при этом не потерять реактивность?» ?
источник

N👩

Nikita 👩🏻‍💻💭... in GraphQL — русскоговорящее сообщество
Что-то типа того )
источник

KA

Konstantin August 🤖... in GraphQL — русскоговорящее сообщество
Выноси запрос наружу из компонент и всё. В самой компоненте функция, которая возвращает типизированный ответ и не важно откуда данные. А вообще по хорошему все данные снаружи просто, где-нибудь на верхнем уровне, а как их получать, graphql, reqct-query или axios вообще без разницы. Иначе если сувать получение данных в компоненты с логикой никак не абстрагируешься, по любому придется в тестах в мок провадера оборачивать и т.д.
источник
2021 November 03

N👩

Nikita 👩🏻‍💻💭... in GraphQL — русскоговорящее сообщество
Как-то так и думал делать, ога
Спасибо )
источник

N👩

Nikita 👩🏻‍💻💭... in GraphQL — русскоговорящее сообщество
Просто интересно было узнать мнения и опыт других
источник

KA

Konstantin August 🤖... in GraphQL — русскоговорящее сообщество
На сколько мне известно только 2 подхода: внутренние компоненты, которые жестко на что то завязаны, потому что под АПИ инфру тоже затачивать надо, либо пишут библиотечные компоненты, у которых все данные снаружи. Жестко заточенные потом тяжело переписать, но как часто вообще переходят например с реакта на вью? Скорее с нуля начнут. А с библиотечными тяжело, один фиг 100% универсально не сделать. Надо баланс искать, делать слабосвязанные, но всё равно связанные элементы.
источник

HB

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

У меня есть два идентичных мини проекта. В одном работает хорошо в другом нет.
Проблема:
1. При загрузке страницы срабатывает useQuery с переменными по умолчанию.
2. Дополнительно, при нажатии кнопки используется fetchMore уже с новыми параметрами.
3. Вижу что улетает запрос с новыми параметрами.
4. Вслед за ним летит запрос с параметрами по умолчанию.
5. Соответственно данные остались предыдущие.

Где ошибка?

- пробовал разные prefetchParameters;

Надо сделать перерыв…
источник

JS

John Smith in GraphQL — русскоговорящее сообщество
Я писал для этого custom hook на реакте. Т.е. все внешние запросы были скрыты в хуке, в котором была заложена модель данных для компонента.
Совсем вы не скроете, нюансы взаимодействия с бэком получится унести очень далеко от компонентов.
источник

CM

Code Magic in GraphQL — русскоговорящее сообщество
Нужна помощь с Apollo grapql, Когда делаю пост картинки, в мутации следом делаю рефетч. Но почему то, после этого сначала показывается старая картинка, а потом уже обновляется (полиси использую network-only). Подскажите пожалуйста в чём дело?
источник

OH

One Hero in GraphQL — русскоговорящее сообщество
а нельзя где-то там данные прокидывать в локальный стейт менеджер и их потом уже расшаривать между компонентами. вообще запросы grаphql хоть фетчем можно делать, чтобы избавиться от кэша
источник

DK

Dm K in GraphQL — русскоговорящее сообщество
может иерархия компонентов не правильная, изменения перерендеривают дерево компонентов и опять дергается хук с дефолтными значениями
источник

DK

Dm K in GraphQL — русскоговорящее сообщество
по моему все верно работает, он запросил первый раз картинку - ее и вставил, в компоненте пока старые данные, после мутации запускается кверя которая фетчит  картинку. если надо сразу подменить картинку, посмотрите в сторону оптимистикАпдейт или возвращайте в ответ тот же тип ентити что записан в кеше (аполло сам подменит данные)
источник

HB

Hooba Booba in GraphQL — русскоговорящее сообщество
Это первое о чем я думал. Компонент прост - он находится в главном компонента App, который не имеет никаких состояний. А Сам компонент просто рендерит список картинок, вот и все.
То есть нет никакого зависимого состояния над ним.
В самом компоненте хук работает так:
const { data, fetchMore }  = useQuery(QUERY, {
prefetchParameters: “network-only”
variables: { q: “<default value>”, limit: 20 }
})

Ну и поле ввода, где навешен fetchMore({ variables: { q: “<new value>” })

префетч параметры перепробовал разные.
Пользуюсь Apollo.
источник