Size: a a a

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

2020 May 06

Sergey Фrolov in GraphQL — русскоговорящее сообщество
writeQuery это не про привязку к конкретному запросу. Это про мапинг данных. Тебе нужно дать понять кешу что ты меняешь. Поэтому у тебя может быть вот прямо свой запрос на это.
Также можешь сделать и через writeFragment, когда ты именно через мапинг фрагмента даешь понять какие данные ты изменил
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
Я бы сделал через writeFragment + в тех связанных запросах выставил returnPartialDatа
источник

JS

John Smith in GraphQL — русскоговорящее сообщество
Sergey Фrolov
writeQuery это не про привязку к конкретному запросу. Это про мапинг данных. Тебе нужно дать понять кешу что ты меняешь. Поэтому у тебя может быть вот прямо свой запрос на это.
Также можешь сделать и через writeFragment, когда ты именно через мапинг фрагмента даешь понять какие данные ты изменил
ну так а зачем тогда тут надо указывать запрос, а не просто сделать обязательным __typename?
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
John Smith
ну так а зачем тогда тут надо указывать запрос, а не просто сделать обязательным __typename?
Ну так ты можешь менять подмножество полей, а не весь тип. Зачем выдумывать велосипед?
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
Ну и в графе нет такого понятия – весь тип. Есть просто набор полей
источник

А

Андрей in GraphQL — русскоговорящее сообщество
интересно услышать мнение о  prisma.io или есть другие варианты?
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
Sergey Фrolov
Ну и в графе нет такого понятия – весь тип. Есть просто набор полей
Раньше ты мог просто напрямую мутировать данные в кеше и для кеша было неясно какие поля ты затронул. Теперь это можно вычитать из query/fragment
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
Там возможно есть более глубокая привязка к конкретным query/fragment, тут я еще не тестил.
источник

JS

John Smith in GraphQL — русскоговорящее сообщество
Sergey Фrolov
Раньше ты мог просто напрямую мутировать данные в кеше и для кеша было неясно какие поля ты затронул. Теперь это можно вычитать из query/fragment
Я сейчас попробую накидать тестовый код, а то у меня пока пасьянс в голове не сложился
источник

JS

John Smith in GraphQL — русскоговорящее сообщество
Sergey Фrolov
Я бы сделал через writeFragment + в тех связанных запросах выставил returnPartialDatа
А как бы ты добавлял ВЛОЖЕННУЮ сущность, т.е. комментарий?
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
John Smith
А как бы ты добавлял ВЛОЖЕННУЮ сущность, т.е. комментарий?
А в чем проблема вложенной сущности? Если у тебя она также может быть описана во фрагменте?
источник

JS

John Smith in GraphQL — русскоговорящее сообщество
Sergey Фrolov
А в чем проблема вложенной сущности? Если у тебя она также может быть описана во фрагменте?
Я пока не очень понимаю, как это отразить в коде
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
John Smith
Я пока не очень понимаю, как это отразить в коде
Да, хорошо бы запилить пример
источник

JS

John Smith in GraphQL — русскоговорящее сообщество
Sergey Фrolov
Да, хорошо бы запилить пример
У меня получилось сделать обновление через фрагмент, даже проверил optimistic ui, всё работает. Помоги мне с этим примером, плиз, а я обязуюсь за ближайшие выходные причесать код, накидать элементарную верстку и выложить в гитхаб на всеобщее обозрение, думаю многим будет интересно что и как
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
John Smith
У меня получилось сделать обновление через фрагмент, даже проверил optimistic ui, всё работает. Помоги мне с этим примером, плиз, а я обязуюсь за ближайшие выходные причесать код, накидать элементарную верстку и выложить в гитхаб на всеобщее обозрение, думаю многим будет интересно что и как
Так обновление работает, или это не про добавление комментов?
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
Это как-то соотносится с оптимистик или это другая уже таска?
источник

JS

John Smith in GraphQL — русскоговорящее сообщество
Sergey Фrolov
Так обновление работает, или это не про добавление комментов?
Сейчас работает ОБНОВЛЕНИЕ, т.е. апдейт через фрагмент. Я пока не могу вкурить, как мне сделать именно добавление через фрагмент
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
А, понял. Тут нужен фрагмент уровня повыше. Т.е.
на обновление у тебя
fragment CommentFragment on Commnet {
 id: ID!
 message: String
}


на добавление будет
fr
agment PostFragment on Post {
 id: ID!
 comments: {
   ...CommentFragment
 }
}

Когда ты возьмешь данные по PostFragment с id уже поста, то у тебя там будут все комменты, что есть в кеше.
Добавляешь туда новый, записываешь обратно.

У меня была такая задумка, но я ее еще не успел проверить
источник

JS

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

Блин, я себя позиционирую как senior в js и react, в частности, а вот тут вот чуть ли не todo list пишу для более глубокого освоения технологии ))))
источник

JS

John Smith in GraphQL — русскоговорящее сообщество
Вот добавление что-то не проканало
источник