Size: a a a

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

2019 October 31

ДЛ

Дмитрий Лейкин in GraphQL — русскоговорящее сообщество
Если подзапрос вида [Type], то это вызывает один resolver где можно подтянуть сразу все.
источник

ДЛ

Дмитрий Лейкин in GraphQL — русскоговорящее сообщество
Дмитрий Лейкин
  QuizPage : {
   answers:  async (obj, args, ctx, info) => {
     return await ctx.db.quiz_page_answer.find({page_id: new ObjectId(obj._id)});
   },
                   }


Так что есть запрашивать типа

page {
answers {_id title}
}

То отработает answers, где можно запросить сразу массив данных.
Это для такой схемы:

type Quiz {
 _id: ID
 title: String
 pages: [QuizPage]
 start_page: QuizPage
}
источник

VM

Vitaly Mosin in GraphQL — русскоговорящее сообщество
да, по такой схеме будет один запрос
источник

ДЛ

Дмитрий Лейкин in GraphQL — русскоговорящее сообщество
А какая там схема?
источник

OG

Oleg Gamega in GraphQL — русскоговорящее сообщество
гайз а кто что использует как cms для  spa? в частности Gatsby
источник

VM

Vitaly Mosin in GraphQL — русскоговорящее сообщество
Дмитрий Лейкин
А какая там схема?
type Query {
 orders(userId: ID!): [Order]
}

type Order {
 guid: ID!
 count: Int
 product: Product
}

type Product {
 guid: ID!
 title: String
 description: String
}
источник

VM

Vitaly Mosin in GraphQL — русскоговорящее сообщество
запрашивается массив orders. Для product отдельный запрос. В итоге получается сколько заказов, столько запросов товаров Product
источник

VM

Vitaly Mosin in GraphQL — русскоговорящее сообщество
можно ли запросить данные по всем продуктам как то одним запросом и потом раскидать это по заказам?
источник

ДЛ

Дмитрий Лейкин in GraphQL — русскоговорящее сообщество
Тут сходу даже не скажу. Разве что разруливать это все прямо в orders, и ничего не делать в подзапросах.
источник

ДЛ

Дмитрий Лейкин in GraphQL — русскоговорящее сообщество
То есть либо вообще ничего не писать в подзапросе. Либо смотреть, заполнен ли уже product, если заполнен - не делать ничего.
источник

A

Alexey in GraphQL — русскоговорящее сообщество
Люди говорят, DataLoader помогает
источник

VM

Vitaly Mosin in GraphQL — русскоговорящее сообщество
Дмитрий Лейкин
Тут сходу даже не скажу. Разве что разруливать это все прямо в orders, и ничего не делать в подзапросах.
вот этот вариант в общем рабочий. Но хочется покрасивей)
источник

VM

Vitaly Mosin in GraphQL — русскоговорящее сообщество
Alexey
Люди говорят, DataLoader помогает
спасибо, посмотрю
источник

AL

Andrii Los in GraphQL — русскоговорящее сообщество
К слову, ребята, хочу shamlessly plug дискорд канал команды, которая стоит за graphql-codegen, graphql-modules, graphql-config, graphql-scalars, sofa, graphql-inspector и другими проектами.
https://discordapp.com/channels/625400653321076807/634396828774826026
источник

AL

Andrii Los in GraphQL — русскоговорящее сообщество
Надеюсь откроется у всех, если что могу инвайтнуть. Там авторы оч активны и вообще годное коммьюнити собралось, на английском онли, очевидно.
источник

ВК

Виктор Крафтер in GraphQL — русскоговорящее сообщество
привет, я тут хочу вопрос задать, а бот его удаляет. чяднт?
источник

NG

N Gafarov in GraphQL — русскоговорящее сообщество
наверно ссылку вставляешь в первое же сообщение = бот думает что это спам
источник

ВК

Виктор Крафтер in GraphQL — русскоговорящее сообщество
нету там ссылок, тупо текст с куском кода
источник

AM

Alexander Mittsel in GraphQL — русскоговорящее сообщество
Подскажите пожалуйста. У меня есть компонент Notification который в случае любой ошибки от сервера выводит текст ошибки в нижнем правом углу страницы. Я переписываю приложение под взаимодействие с graphql используя apollo. Мне не хочется в каждом рендере любого компонента обрабатывать error  из useQuery и выводить Notification. Как определить это в одном месте глобально? Подскажите пожалуйста куда копать. Спасибо!
источник

G

GetMad in GraphQL — русскоговорящее сообщество
Alexander Mittsel
Подскажите пожалуйста. У меня есть компонент Notification который в случае любой ошибки от сервера выводит текст ошибки в нижнем правом углу страницы. Я переписываю приложение под взаимодействие с graphql используя apollo. Мне не хочется в каждом рендере любого компонента обрабатывать error  из useQuery и выводить Notification. Как определить это в одном месте глобально? Подскажите пожалуйста куда копать. Спасибо!
можно добавить в обработчик ошибок аполло клиента. также можно   componentDidCatch использовать
источник