Size: a a a

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

2018 November 27

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
Sergey Zverev
Начал разбираться с graphql, есть на клиенте реакт с аполло, делаю мутацию которая возвращает id  а по этой id мне тут же надо вызвать другую мутацию, как это сделать? И вообще правильный ли подход? Если есть ссылки что почитать по этому поводу буду признателен если кинете)
Я обычно в таких случаях выношу общую логику в отдельный файл
И уже в обоих методах ее использую
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
Например создать комнату и автоматом войти в нее
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
Делаю за одну транзакцию
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
Биндинги кстати удобная вещь, особенно когда typescript defs генерируются на основе graphql-схемы
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
Сам митап очень слабенький. Из всего митапа самое интересное для себя почерпнул: ошибки (проблемы) в юнионах
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
Хотелось бы чего-нибудь хардкорного)
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
Весь сок на холи был)
источник

NK

ID:556239598 in GraphQL — русскоговорящее сообщество
Привет. помогите разобраться, как лучше реализовать следующее. С сервера приходят данные вида

[ {name: 'a', items: [ {name: 'b' } ] } ]

Эти данные нужно привести к виду, как показано ниже и чтобы эти данные были в состоянии apollo и добавленное свойство было только @client.

[ {name: 'a', prop: '',  items: [ {name: 'b', prop: ''  } ] } ]

Как такое сделать? Я не могу догадаться, как написать запрос и данные по умолчанию, чтобы свойство ещё и вitems добавилось.
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
ID:556239598
Привет. помогите разобраться, как лучше реализовать следующее. С сервера приходят данные вида

[ {name: 'a', items: [ {name: 'b' } ] } ]

Эти данные нужно привести к виду, как показано ниже и чтобы эти данные были в состоянии apollo и добавленное свойство было только @client.

[ {name: 'a', prop: '',  items: [ {name: 'b', prop: ''  } ] } ]

Как такое сделать? Я не могу догадаться, как написать запрос и данные по умолчанию, чтобы свойство ещё и вitems добавилось.
С какого сервера? С твоего graphql-сервера сейчас данные приходят как показано в первом виде или что?
источник

NK

ID:556239598 in GraphQL — русскоговорящее сообщество
Да с моего сервера приходят данные, как показано в первом варианте. Их нужно привести как во втором. При этом добавление свойств должно быть сделано только на клиенте.
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
ID:556239598
Да с моего сервера приходят данные, как показано в первом варианте. Их нужно привести как во втором. При этом добавление свойств должно быть сделано только на клиенте.
То есть ты хочешь конкретно в аполло кэше на клиенте добавить дополнительные поля к приходящим с сервера данным?
источник

NK

ID:556239598 in GraphQL — русскоговорящее сообщество
Да. с apollo-link-state.
источник

NK

ID:556239598 in GraphQL — русскоговорящее сообщество
Еще беда в том что у меня заранее неизвестное дерево приходит. И нужно всем items добавить. Это вообще возможно?
источник

NK

ID:556239598 in GraphQL — русскоговорящее сообщество
То есть, если бы это были обычные запросы и обычный redux, то ябы просто рекурсивно обошел и добавил нужные свойства. Как такое с apollo сделать?
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
Гугли apollo client state management
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
Там есть readQuery и writeQuery
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
Может поможет
источник

NK

ID:556239598 in GraphQL — русскоговорящее сообщество
Не обнадеживает :)
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
А какой кейс?
источник

MM

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