AWS Amplify Connect не возвращает данные - PullRequest
1 голос
/ 12 апреля 2019

У меня очень простой сервер GraphQL, который возвращает "Hello World" при запросе { hello }

Я настроил Amplify для конечной точки и региона GraphQL и проверил, работает ли соединение с этим фрагментом:

**THIS IS WORKING**

import {API, graphqlOperation} from 'aws-amplify'

const ListEvents = `query {
  hello
}`

async getNote() {
    try {
      const result = await API.graphql(graphqlOperation(ListEvents))
      console.log(result)
    } catch(e) {
      console.log("Unable to fetch hello")
      console.log(e.response)
    }
}

RETURNS:
{
  "data": {
    "hello": "Hello world!"
  }
}

Моя проблема

Я хочу использовать Connect из aws-amplify-react, как описано ЗДЕСЬ

Я использовал следующий фрагмент кода и включил его в свое приложение:

**THIS IS NOT WORKING**

import { Connect } from "aws-amplify-react";

const ListEvents = `query {
  hello
}`

<Connect query={graphqlOperation(ListEvents)}>
    {(obj, ...rest) => {
      console.log(obj);
      console.log(rest);
    }}
</Connect>

Это ВОЗВРАЩАЕТСЯ:

My return of Connect

Причина двух пустых ответов обсуждается в другом вопросе переполнения стека , но это просто никогда не возвращает ожидаемые данные.

Можете ли вы помочь мне разобраться?

1 Ответ

0 голосов
/ 14 июня 2019

Попробуйте использовать следующий синтаксис:

<Connect query={graphqlOperation(listEvents)}>
    {({ data , loading, error }) => {
        if (error) return (<h3>Error</h3>);
        if (!data) return (<h3>No events found</h3>);
        if (loading) return (<h3>Loading...</h3>);
        return (<h3>{data.hello}</h3> );
    }}
</Connect>
...