Подписка GraphQL не слушает все новые творения - Reaction-Apollo - PullRequest
0 голосов
/ 18 мая 2018

enter image description here

Я использую подписку GraphQL с помощью Prisma (http://prismagraphql.com/), и реагирую + реагировать-аполлон.

В приведенном выше примеречисло '3' не было прослушано subscribeToMore(. Следовательно, запрос chatsQueryConnection не был обновлен.

Номер '3' был успешно создан, поскольку этот номер появляется после обновления страницы.

subscribeToMore Listner:

  componentDidMount() {
    this.props.chatsQueryConnection.subscribeToMore({
      document: CHAT_SUBSCRIPTION,
      updateQuery: (prev, { subscriptionData }) => {
        console.log('componentDidMountSub')
        if (!subscriptionData) {
          return prev
        }
        return Object.assign({}, prev, {
          chatsConnection: {
            __typename: 'ChatConnection',
            edges: [
              ...prev.chatsConnection.edges,
              subscriptionData.data.chat
            ]
          }
        })
      }
    })
  }

Запрос подписки GrqphQL:

const CHAT_SUBSCRIPTION = gql `
  subscription {
    chat(where:{mutation_in: CREATED}) {
      node {
        id
        message
        author {
          name
          nameFile
        }
      }
    }
  }
`

Полный код здесь

Документация по подписке Apollo

Документация по подписке Prisma

...