Size: a a a

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

2020 June 17

OL

Oleh Lustenko in GraphQL — русскоговорящее сообщество
Andrei Bunulu
Всем привет, кто-то знает если возможно в apollo-client использовать директивы?
И второй вопрос. Eсть apollo-link-rest с определенным query. И я хочу поменять кое какие данные в ответе
Так как apollo-link-rest не поддерживает resolvers, я пока могу это сделать немного криво - писать рядом с @rest дериктивой для данного query, директиву @client и создавать новое выдуманное поле для @client которое я обрабатываю в resolver и делаю что мне надо c данными им rest респонса.
Как можно зарезолвить данные из @rest более красиво?
источник
2020 June 18

СГ

Сергей Громов... in GraphQL — русскоговорящее сообщество
Может я немного не оптимист. Но на ресте, с редаксом - я писал меньше кода, чем на графе и без редакса.
источник

AB

Andrei Bunulu in GraphQL — русскоговорящее сообщество
оптимист
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Возможно обработка ошибок унифицирована или проект не сложный. Но у меня всегда больше кода выходит с рестом, даже без редакса(undux беру для легких задач).
источник

СГ

Сергей Громов... in GraphQL — русскоговорящее сообщество
Олег Линьков
Возможно обработка ошибок унифицирована или проект не сложный. Но у меня всегда больше кода выходит с рестом, даже без редакса(undux беру для легких задач).
а в графе тебе не нужно ошибки обрабатывать ?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Сергей Громов
а в графе тебе не нужно ошибки обрабатывать ?
Там все более элегантно, один удобный обработчик ошибок и наблюдатель для sentry. Так как схема строго декларирована 90% уходит прочь на этапе валидации данных с клиента
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Не спорю, что в ресте также можно сделать. Просто gql сервер обычно я пишу, а рест другие сотрудники
источник

AB

Andrei Bunulu in GraphQL — русскоговорящее сообщество
все зависит от задач на самом деле
Мне apollo + graphql очень нравится в связке, к сожалению у нас BE пока не заточен под graphql, но нам не мешало это отказаться от redux
Используем apollo-link-rest + client + websockets. Для локального стэйта например как feature toggle client заменяет редакс, плюс мы подключили websocket и сразу кэш обновляем, ну и соотвественно где надо все перерисовывается. Нравится обработка ошибок и лоадеры и кэш из коробки, плюс засовываем сразу через json.stringify начальные данные в аполло где это требуется, что позволяет загружать страничку намного быстрее
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
К слову о начальных данных, советую разбивать на более мелкие и делать batch запрос. На практике быстрее выходит и сервер более довольный
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
У нас разработчик главный до меня, так и не смог перенять идеологию graphql и грубо говоря на его основе делал rest. Массивные по данным query очень снижали общую производительность
источник

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
Олег Линьков
У нас разработчик главный до меня, так и не смог перенять идеологию graphql и грубо говоря на его основе делал rest. Массивные по данным query очень снижали общую производительность
я тут когда-то писал про RestQL, я думаю можно его как мем использовать)
источник

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
когда речь заходит про не "лохматые" схемы
источник

СГ

Сергей Громов... in GraphQL — русскоговорящее сообщество
почему я всегда в onCompleted получаю старые данные.

Я отчетливо вижу что в нетворке пришел новый массив, но в onCompleted получаю предыдущий.

И аргументов у него нет никаких дополнительных
источник
2020 June 19

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Странно, посмотрел у себя, хотя обычно сразу деструктизирую в data, но моменты авторизации и заполнения клиентского Кеша делаю на onCompleted. Раньше была проблема что на рефреше возвращались старые данные. Но после того как обновил, не встречал подобного
источник

СГ

Сергей Громов... in GraphQL — русскоговорящее сообщество
Олег Линьков
Странно, посмотрел у себя, хотя обычно сразу деструктизирую в data, но моменты авторизации и заполнения клиентского Кеша делаю на onCompleted. Раньше была проблема что на рефреше возвращались старые данные. Но после того как обновил, не встречал подобного
Но после того как обновил - что обновил ?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Аполло
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Вообще сейчас перешёл на graphql-hooks, там наконец поправили баг с кешем. Буду тестировать с ssr, ssg
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Конечно не такой гибко настраиваемый, но очень лёгкий для конечного билда
источник

OD

Oleg Denisov in GraphQL — русскоговорящее сообщество
@nodkz скинь пожалуйста граф связей гитхаба
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Oleg Denisov
@nodkz скинь пожалуйста граф связей гитхаба
Она в voyager по умолчанию есть
источник