Size: a a a

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

2020 September 03

AM

Andrii Mosin in GraphQL — русскоговорящее сообщество
Mikhail Kizilov
Я правильно понимаю что это gatsby?
он самый
источник

AM

Andrii Mosin in GraphQL — русскоговорящее сообщество
<li style={((breed) == edge.node.breed) ? {} : { display: "none" }}>
К
Как решил проблему))
источник

AM

Andrii Mosin in GraphQL — русскоговорящее сообщество
Чем не фильтрация
источник

MK

Mikhail Kizilov in GraphQL — русскоговорящее сообщество
Andrii Mosin
он самый
https://www.gatsbyjs.com/docs/data-fetching/#fetching-data-at-client-side-runtime

Раздел Fetching data at client-side runtime

В общем тебе необходимо уже с клиента делать запрос в рантайме, а не при билде, то есть это дедается так же как в любом React приложении
Можно использовать что угодно для запроса axios, fetch, но лучше Apollo
источник

AM

Andrii Mosin in GraphQL — русскоговорящее сообщество
Mikhail Kizilov
https://www.gatsbyjs.com/docs/data-fetching/#fetching-data-at-client-side-runtime

Раздел Fetching data at client-side runtime

В общем тебе необходимо уже с клиента делать запрос в рантайме, а не при билде, то есть это дедается так же как в любом React приложении
Можно использовать что угодно для запроса axios, fetch, но лучше Apollo
Спасибо, но мне нужно вот так постоянно фильтровать
https://prnt.sc/ub25lo
источник

AM

Andrii Mosin in GraphQL — русскоговорящее сообщество
То есть от селекта
источник

AM

Andrii Mosin in GraphQL — русскоговорящее сообщество
Типо пропсы перешли к компоненту, где запрос к бд прошел и отфильтровал, хотя может это по производительности хуже чем display: none
источник
2020 September 04

JS

John Smith in GraphQL — русскоговорящее сообщество
Доброе утро
Поменял в apollo client 3 транспорт с http на вебсокеты и при использовании useMutation получаю ошибку:
Must contain a query definition.

Самое интересное, что в базу всё записывается нормально.
Погуглил, такая ошибка происходит тогда, когда отправляешь мутацию через query. В вебсокете это отправляется как query, скриншот прилагается. Как это можно починить?
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
John Smith
Доброе утро
Поменял в apollo client 3 транспорт с http на вебсокеты и при использовании useMutation получаю ошибку:
Must contain a query definition.

Самое интересное, что в базу всё записывается нормально.
Погуглил, такая ошибка происходит тогда, когда отправляешь мутацию через query. В вебсокете это отправляется как query, скриншот прилагается. Как это можно починить?
> когда отправляешь мутацию через query

Это как? Зачем? Выглядит как причина проблемы.
источник

JS

John Smith in GraphQL — русскоговорящее сообщество
Алексей Родионов
> когда отправляешь мутацию через query

Это как? Зачем? Выглядит как причина проблемы.
Я так не делаю, я использую обычный хук аполло useMutation. Собственно, всё отлично работало, я изменил только транспорт и больше ничего
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
John Smith
Я так не делаю, я использую обычный хук аполло useMutation. Собственно, всё отлично работало, я изменил только транспорт и больше ничего
Покажи конструктор ApolloClient.
источник

JS

John Smith in GraphQL — русскоговорящее сообщество
Алексей Родионов
Покажи конструктор ApolloClient.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Когда я последний раз пробовал всё слать по сокетам вместо http, у меня ничего не вышло (но это было давно, до 3 версии).
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Можно попробовать вот так:
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Т.е. использовать SubscriptionsClient как networkInterface в параметрах конструктора ApolloClient.
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Используй свитч схемы
источник

JS

John Smith in GraphQL — русскоговорящее сообщество
Алексей Родионов
Можно попробовать вот так:
Сейчас попробую
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
const httpLink = new HttpLink({
 uri: 'http://localhost:4000/graphql',
});
const wsLink = new WebSocketLink({
 uri: ws://localhost:4000/subscriptions,
 options: {
   reconnect: true,
 },
});

const link = split(
 ({ query }) => {
   const { kind, operation } = getMainDefinition(query);
   return kind === 'OperationDefinition' && operation === 'subscription';
 },
 wsLink,
 httpLink
);


const client = new ApolloClient({
 link: ApolloLink.from([authLink, link]),
 cache: new InMemoryCache(),
});
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Грубо говоря. Тогда будет работать правильно в зависимости от операции
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Олег Линьков
const httpLink = new HttpLink({
 uri: 'http://localhost:4000/graphql',
});
const wsLink = new WebSocketLink({
 uri: ws://localhost:4000/subscriptions,
 options: {
   reconnect: true,
 },
});

const link = split(
 ({ query }) => {
   const { kind, operation } = getMainDefinition(query);
   return kind === 'OperationDefinition' && operation === 'subscription';
 },
 wsLink,
 httpLink
);


const client = new ApolloClient({
 link: ApolloLink.from([authLink, link]),
 cache: new InMemoryCache(),
});
Он хочет всё (и квери, и мутации) по сокетам слать, а не только подписки.
источник