передан в синтаксический анализатор не был действительным GraphQL DocumentNode.Вы, возможно, должны использовать 'graphql-tag' или другой метод для преобразования вашей операции в документ - PullRequest
0 голосов
/ 01 июня 2018

Я новичок в реакции-нативной, graphql и Aws AppSync.Мы попытались создать приложение для собственных нужд с помощью aws appsync. Когда я запускаю act-native run-android , это выдает ошибку, говорящую, что

, переданное парсеру, не былодопустимый GraphQL DocumentNode.Вы, возможно, должны использовать 'graphql-tag' или другой метод для преобразования вашей операции в документ

Пожалуйста, ознакомьтесь с

https://i.stack.imgur.com/hr5fA.jpg

URL-адрес изображения для получения ссылки.

 import { graphql, compose } from 'react-apollo';
import gql from 'graphql-tag';

 const listMessages = graphql(gql`
    query listMessages {
      listMessages {
        id
        text
        createdAt
        sentBy {
          id
          name
        }
      }
    }`)
  const createMessage = graphql(gql`
  mutation createMessage($text: String!, $sentById: ID!) {
      createMessage(input : {
        id : $sentById
        text : $text
        createdAt : "1/06/2018"
        updateAt:"1/06/2018"
      }){
       sentBy {
         id
         name
      }
      }
     }`)


     export default compose(
        graphql(createMessage,{
          options: {
            fetchPolicy: 'cache-and-network'
          }
        }, {name : 'createMessageMutation'}),
        graphql(listMessages, {
          options : {
            fetchPolicy: 'cache-and-network'
          }
        }, {name: 'listMessagesQuery'})
      )(Chat)

Приведенный выше код является базовой реализацией graphql.

Я не могу действительно отследитьошибка, пожалуйста, помогите мне. Спасибо!заранее

Ответы [ 2 ]

0 голосов
/ 13 августа 2019

Вы можете использовать только GQL для определения своих запросов.

Вы можете использовать либо.

Не нужно добавлять graphql.

import gql from 'graphql-tag';

const listMessages = gql
    query listMessages {
      listMessages {
        id
        text
        createdAt
        sentBy {
          id
          name
        }
      }
    }
0 голосов
/ 02 июня 2018

Вы вызываете функцию graphql дважды - один раз в вашем определении listMessages и createMessage, а затем снова в вашем операторе экспорта.Вам нужно изменить способ определения переменных, которые вы используете для своих запросов:

const createMessage = gql`
  mutation createMessage($text: String!, $sentById: ID!) {
    createMessage(input : {
      id : $sentById
      text : $text
      createdAt : "1/06/2018"
      updateAt:"1/06/2018"
    }) {
      sentBy {
        id
        name
      }
    }
 }`
...