问题描述: 在使用Apollo GraphQL和AppSync时,使用useMutation时无效。
解决方法:
import { useMutation } from '@apollo/client';
const CREATE_POST_MUTATION = gql`
mutation CreatePost($input: CreatePostInput!) {
createPost(input: $input) {
id
title
body
}
}
`;
const MyComponent = () => {
const [createPost, { data, loading, error }] = useMutation(CREATE_POST_MUTATION);
// 调用createPost函数来执行Mutation操作
const handleCreatePost = async () => {
try {
const response = await createPost({ variables: { input: { title: 'New Post', body: 'This is a new post' } } });
console.log(response.data.createPost); // 处理返回的数据
} catch (error) {
console.error(error); // 处理错误
}
};
if (loading) return Loading...
;
if (error) return Error :(
;
return (
);
};
确保AppSync配置正确。检查AWS AppSync的API配置是否与客户端的配置一致。
使用Apollo DevTools调试。在浏览器的开发者工具中,使用Apollo DevTools插件检查网络请求和响应是否符合预期。
以上是解决Apollo GraphQL和AppSync中useMutation无效的一般步骤和解决方法。根据具体情况可能会有其他问题或解决方法。