AWS Amplify Connect不返回数据

时间:2019-04-12 08:36:03

标签: reactjs amazon-web-services graphql aws-sdk

我有一个非常简单的GraphQL服务器,如果用"Hello World"查询,它将返回{ hello }

我已经使用GraphQL端点和区域配置了Amplify,并验证了该连接是否可以使用此代码段:

**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!"
  }
}

我的问题

我要使用HERE中所述的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

in another Stack Overflow question讨论了两个空响应的原因,但这根本不会返回预期的数据。

您能帮我解决吗?

1 个答案:

答案 0 :(得分:0)

尝试使用以下语法:

<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>