Size: a a a

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

2019 March 15

EK

Eugene Korobkov in GraphQL — русскоговорящее сообщество
Sergey Startsev
Всем привет!  Подскажите, пытаюсь получить данные из кеша, после мутации в компоненте реакта
const { tasks } = cache.readQuery({ query: GET_TASKS });

Но у меня почему то
tasks:  undefined

Хотя данные из базы я получаю и нахожусь на этой странице, кеш подключил (InMemoryCache)

Полный пример:
<Mutation
   mutation={ADD_TASK}
   update={(cache, { data: { TaskAdd } }) => {
     const { tasks } = cache.readQuery({ query: GET_TASKS });
     console.log('tasks: ', tasks);
   }}
 >...</Mutation>
Попробуй
const tasks = cache.readQuery({ query: GET_TASKS });
Что выводит в консоль?
источник

SS

Sergey Startsev in GraphQL — русскоговорящее сообщество
Блин, спасибо, выводит список. Надо делать перерывы )
источник

สϻøนr in GraphQL — русскоговорящее сообщество
this._apollo.query<qr>({
 query: gql‘...‘,
 variables: {
   query: ' ',
 }
}).pipe(
     map(({data}:ApolloQueryResult<qr>) => {
       return ...
      }),
      tap( (...) => ... )
   );
RxJs
Angular
источник

สϻøนr in GraphQL — русскоговорящее сообщество
Sergey Startsev
Всем привет!  Подскажите, пытаюсь получить данные из кеша, после мутации в компоненте реакта
const { tasks } = cache.readQuery({ query: GET_TASKS });

Но у меня почему то
tasks:  undefined

Хотя данные из базы я получаю и нахожусь на этой странице, кеш подключил (InMemoryCache)

Полный пример:
<Mutation
   mutation={ADD_TASK}
   update={(cache, { data: { TaskAdd } }) => {
     const { tasks } = cache.readQuery({ query: GET_TASKS });
     console.log('tasks: ', tasks);
   }}
 >...</Mutation>
А после удачного query, ты положил в кэш фрагменты?
источник

SS

Sergey Startsev in GraphQL — русскоговорящее сообщество
สϻøนr
А после удачного query, ты положил в кэш фрагменты?
Да, только я не фрагменты, а целые запросы
cache.writeQuery({
       query: GET_TASKS,
       data: { TaskGetAll: TaskGetAll.concat([TaskAdd]) }
     });
источник

SS

Sergey Startsev in GraphQL — русскоговорящее сообщество
Пока фрагменты не использую, не особо в них разобрался, только начал внедрять
источник

สϻøนr in GraphQL — русскоговорящее сообщество
Но ведь лучше фрагменты хранить, как бы запрос будет хранить лишь ключи к фрагментам, а не сами объекты. Ну я сам не полностью разобрался с кэшем, но безусловно фрагменты нужны.
источник

สϻøนr in GraphQL — русскоговорящее сообщество
update is the recommended way of updating the cache after a query.
источник

สϻøนr in GraphQL — русскоговорящее сообщество
источник

g

graphql_bot in GraphQL — русскоговорящее сообщество
prisma/prisma 1.28.3 → 1.28.4 🎉
источник

SS

Sergey Startsev in GraphQL — русскоговорящее сообщество
А есть нормальный мануал по внедрению graphql в node(mongodb) и react?
А то открывают статьи и везде все по разному реализовано
источник

EK

Eugene Korobkov in GraphQL — русскоговорящее сообщество
Sergey Startsev
А есть нормальный мануал по внедрению graphql в node(mongodb) и react?
А то открывают статьи и везде все по разному реализовано
источник

EK

Eugene Korobkov in GraphQL — русскоговорящее сообщество
Учитывая, что скорее всего ты будешь использовать apollo, нет лучше источника информации, чем сайт apollo.
источник

SS

Sergey Startsev in GraphQL — русскоговорящее сообщество
Сервер на koa-graphql пока, но такое чувство что буду на apollo переписывать, потому что начал сталкиваться с не типичными задачами и трачу время на поиски истины
А фронт на apollo-client
источник

s

shashkov0 in GraphQL — русскоговорящее сообщество
Подскажите как избежать такого копипаста:

https://github.com/shortstories-project/frontend/blob/master/components/Account.js#L14

https://github.com/shortstories-project/frontend/blob/master/components/Account.js#L51

Структура запроса полностью одинаковая только будут разные ключи (@connection(key: key))
источник

s

shashkov0 in GraphQL — русскоговорящее сообщество
использую react-apollo. Всего таких запросов в проекте штук 6-7
источник

δM

δμ Dmitry Manannikov in GraphQL — русскоговорящее сообщество
а переменные внутри директивы нельзя использовать?
источник

s

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

δM

δμ Dmitry Manannikov in GraphQL — русскоговорящее сообщество
можно переменную в строку вставить
источник

δM

δμ Dmitry Manannikov in GraphQL — русскоговорящее сообщество
через ${}
источник