在不使用React的Apollo Mutation组件的情况下,你可以使用Apollo Client的mutate
方法来执行突变操作。下面是一个使用Apollo Client实现的示例解决方案:
import { ApolloClient, HttpLink, InMemoryCache, gql } from '@apollo/client';
// 创建Apollo Client实例
const client = new ApolloClient({
link: new HttpLink({ uri: 'http://api.example.com/graphql' }),
cache: new InMemoryCache(),
});
// 定义突变操作的GraphQL查询
const mutation = gql`
mutation AddUser($name: String!, $email: String!) {
addUser(name: $name, email: $email) {
id
name
email
}
}
`;
// 执行突变操作
client.mutate({
mutation,
variables: {
name: 'John Doe',
email: 'johndoe@example.com',
},
})
.then(response => {
console.log('Mutation result:', response.data.addUser);
})
.catch(error => {
console.error('Mutation error:', error);
});
上面的示例代码中,我们首先创建了一个Apollo Client实例,并指定了GraphQL服务器的URL和缓存配置。然后,我们定义了一个用于添加用户的突变操作的GraphQL查询。最后,我们通过调用client.mutate
方法来执行突变操作,并传递突变查询和变量参数。在成功或失败的回调函数中,我们可以处理突变操作的结果或错误。
请注意,上述代码示例使用了@apollo/client
版本3的Apollo Client库。如果你使用的是不同版本的Apollo Client,请根据相应的文档进行调整。