我有一个非常简单的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>
此返回:
in another Stack Overflow question讨论了两个空响应的原因,但这根本不会返回预期的数据。
您能帮我解决吗?
答案 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>