Size: a a a

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

2019 October 22

ДС

Дмитрий Середа in GraphQL — русскоговорящее сообщество
"асинк импорты на компоненты" - не понимаю что это?
И UI и React-Router требуют загрузки данных лишь один раз ( 1 query ) и более обновляться не будут ( за исключением случая, когда пользователь не залогинен и данные должны обновиться после логина )
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Sergey Zverev
@nodkz Павел, у тебя есть в правилах использование неймспейсов, но во первых скорее всего неймспейсами никто не пользуется, огромная ветка обсуждений неймспейсов с 2016 года и до сих пор никак не решена проблема ну и последнее это вообще не понятно как с этим на фронте работать (тут возможно не разобрался)
Евгений правильно ответил. Я рекомендую использовать “Неймспейс поля”, которые под собой собирают некоторые методы/данные в рамках какой-то сущности/сервиса. Например есть сервис и все его модели мы просто прячем на один уровень глуюже, чтобы не иметь бардак из кучи методов на первом уровне. Это просто рекомендация по дизайну больших схем.

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

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Sergey Zverev
mutation {
 account {
   create(name: "bbb", role: "ssss") {
     id
     name
     role
     owner {
       id
       name
     }
     members {
       id
       role
       user {
         name
       }
     }
   }
 }
}
У prisma, type-graphql нет возможности напрямую создавать такие неймспейс типы. Вам пока на верхнем уровне все надо держать.
источник

SZ

Sergey Zverev in GraphQL — русскоговорящее сообщество
@nodkz Спасибо!
источник

SB

Sergei Bogdaniuk in GraphQL — русскоговорящее сообщество
Дмитрий Середа
"асинк импорты на компоненты" - не понимаю что это?
И UI и React-Router требуют загрузки данных лишь один раз ( 1 query ) и более обновляться не будут ( за исключением случая, когда пользователь не залогинен и данные должны обновиться после логина )
Code splitting, что бы не грузить код компонента
источник

ДС

Дмитрий Середа in GraphQL — русскоговорящее сообщество
Sergei Bogdaniuk
Code splitting, что бы не грузить код компонента
На сколько я понял это для того, чтобы bundle персонализировать и облегчить.
источник

SB

Sergei Bogdaniuk in GraphQL — русскоговорящее сообщество
Так точно
источник

EK

Egor Kalyanov in GraphQL — русскоговорящее сообщество
Привет, дали вместо restAPI graphql, нужно понимание, какая вообще структура создана. В документации что-то не нашел. Каким запросом можно получить стуктуру? Или это совсем иначе делается?
источник

e

egoarka in GraphQL — русскоговорящее сообщество
Egor Kalyanov
Привет, дали вместо restAPI graphql, нужно понимание, какая вообще структура создана. В документации что-то не нашел. Каким запросом можно получить стуктуру? Или это совсем иначе делается?
в плейграунде открой эндпоинт удаленный, будет проще разобраться
источник

AI

Alex Ilatovsky in GraphQL — русскоговорящее сообщество
Egor Kalyanov
Привет, дали вместо restAPI graphql, нужно понимание, какая вообще структура создана. В документации что-то не нашел. Каким запросом можно получить стуктуру? Или это совсем иначе делается?
источник

K

Konstantin in GraphQL — русскоговорящее сообщество
Привет ребята !

Посмотерел доклад Павла Чертогова с Holy JS. Отличный. Там он дал ссылку на эту группу.
источник

AN

Anton Nemtsev in GraphQL — русскоговорящее сообщество
Привет.
Я хочу сделать авторизацию через graphql ввиде мутации которая возвращает JWT.
Для этого будет две мутации: loginWithCredentials и refreshExpiredToken.
С первой всё просто.
Но запрос ко второй по идее должен быть инициирован из https://github.com/newsiberian/apollo-link-token-refresh
И тут это меня немного сбивает с толку: я из линка должен сделать grapql-мутацию.
Которая сама запустит эти самые линки.
И не возникнет ли гонки состояниий если будет множество одновременных запросов.
В связи с этим вопрос: не деляю ли я херню?
источник

AN

Anton Nemtsev in GraphQL — русскоговорящее сообщество
И можно ли (стоит ли) просто сделать post запрос к серверу?
что бы избежать такой рекурсии?
источник

AN

Anton Nemtsev in GraphQL — русскоговорящее сообщество
но снова вопрос гонки состояний
источник

AN

Anton Nemtsev in GraphQL — русскоговорящее сообщество
ну и соответственно можно ли как то убедится что одинаковые запросы из множества компонент склеены в 1?
аполо так может же?
источник

K

Konstantin in GraphQL — русскоговорящее сообщество
У меня тоже есть вопрос к колегам про Apollo Client :)
Мы тут недавно делали систему одну. SPA на React, стор в Apollo, база в graph.cool

И столнкулись с серьёзными проблемами с Apollo. В чем суть, есть условные задачи, есть кейс смены их содержимого с раных мест. Мы хотим что бы это делалось оптимистик, без ожидания ответа с сервака. Если мы делаем оптимистик через Apollo, то данные меняются, но когда приходит ответ, происходит перерендер, и иногда в ответе приходят старые данные. Т.е. мы обязательно должны блокировать элемент и ждать.

Решили не ждать ответа, а держать состояние на клиенте, с апполло стором. Отпралть запрос и потом уже отдельно, если будет проблема с тем что юзеры меняют одно и то же, писать механизм синхронизации.

Но тут выяснилось странное, да у нас есть доступ к стору (через update в mutation), но только к денормализованной дате. А у аполло это пары ключ (текст запроса со вставленными переменными) и объект результаты запроса.

Т.е. мне надо было искать запрос, который вызвал мою сущность, и искать параметры с которыми он был вызван
и только зная всё этоб мог составать верный ключ для кэша и поменять "данные".

Это было жутко не удобно на самом деле.
Собственно вопрос, кто как работал напрямую со стором Apollo ? И действительно ли нет возможности,
как то менять сущности в нормализованном сторе, обращаясь к сущности хотя бы только по ID ?

Заранее спасибо.
источник
2019 October 23

RS

Roman Sribnyi in GraphQL — русскоговорящее сообщество
Всем привет. Столкнулся с проблемой при попытке старта проекта ( стек: gatsby&graphql )
Такую ошибку ловлю
Error: Cannot resolve types for Legos
источник

RS

Roman Sribnyi in GraphQL — русскоговорящее сообщество
Первый раз сталкиваюсь с graphql, почитал по доке, обычные query запросы вроде понятные, но в продже так же прописываются типы в schema.gql
Не очень понимаю, что там происходит..
Эта ошибка значит, что тип такой есть, но внутри чет не так?
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Да видимо там у тебя под капотом Union типы.
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Трабла в гатсби, либо в его конфиге. Иди к ним в гитхаб и в поле поиска вставляй текст ошибки
источник