要在AWS Amplify中使用@connection指令进行GraphQL查询,您可以按照以下步骤进行操作:
amplify add api
amplify/backend/api/{API_NAME}/schema.graphql
),并在适当的位置添加@connection指令。例如,假设您有一个Post模型,并且Post模型具有一个comments字段,您想在评论和帖子之间建立连接,则可以将@connection指令添加到模型定义中的comments字段上,如下所示:type Post @model {
id: ID!
title: String!
comments: [Comment] @connection
}
type Comment @model @key(fields: ["postID"]) {
id: ID!
content: String!
postID: ID!
post: Post @connection(fields: ["postID"])
}
amplify push
import React, { useEffect, useState } from 'react';
import { API, graphqlOperation } from 'aws-amplify';
import { listPosts } from './graphql/queries';
const App = () => {
const [posts, setPosts] = useState([]);
useEffect(() => {
fetchPosts();
}, []);
const fetchPosts = async () => {
try {
const postData = await API.graphql(graphqlOperation(listPosts));
const posts = postData.data.listPosts.items;
setPosts(posts);
} catch (err) {
console.log('error fetching posts', err);
}
};
return (
{posts.map((post) => (
{post.title}
{post.comments.items.map((comment) => (
- {comment.content}
))}
))}
);
};
export default App;
以上代码将在组件加载时获取帖子及其评论,并将它们渲染在页面上。
这是使用AWS Amplify和@connection指令进行GraphQL查询的一个简单示例。您可以根据自己的需求进行修改和扩展。