在前面的几篇文章中,我们已经介绍了 GraphQL 的基本概念、Schema 和 Queries。在这篇文章中,我们将会讨论 GraphQL 的第四个重要概念:Mutations。
Mutations 的概念
Mutation 是一种修改数据的操作。在 GraphQL 中,Mutation 和 Query 一样都是 GraphQL 的一部分。Mutation 的作用是修改服务器上的数据,比如新增、修改、删除等操作。Mutation 的参数和查询类似,也是由字段组成。
Mutations 的使用方法
Mutation 的使用方法和 Query 类似,可以用 GraphQL 语言来定义。在 schema 中,我们可以定义 Mutation 的类型和参数。
---- -------- - ---------------- -------- ------ --------- ----- -
以上例子中,我们定义了一个 createUser 的 Mutation,它接受两个参数:name 和 email,都是字符串类型,并返回一个 User 对象。
在客户端中,我们可以使用以下语法来调用 Mutation:
-------- - ----------- ----- ------ ------ ------------------ - - -- ---- - -
以上代码中,我们定义了一个名为 createUser 的 Mutation,并传入需要创建的 User 的 name 和 email。当 Mutation 执行成功后,服务器会返回 User 对象的 id 和 name。
Mutations 的示例代码
以下代码演示了如何在 React 中调用 Mutation:
------ - ----------- - ---- ----------------- ------ --- ---- -------------- ----- ----------- - ---- -------- ----------------- -------- ------- -------- - ---------------- ------ ------ ------- - -- ---- ----- - - -- -------- --------------------- - ----- ------------ - ---- -- - ------------------------- ----- ---------------- - -- -- - ------------ ---------- - ----- ------- ------ ------------------ - --- - ------ - ----- ------- --------------------------------- ------------- ------ -- -
以上代码中,我们定义了一个 CREATE_USER Mutation,并使用 useMutation 钩子进行调用。当调用 createUser 函数时,Apollo Client 会向服务器发送一个名为 createUser 的 Mutation,并传入参数 name 和 email。当 Mutation 执行成功后,服务器会返回 User 对象的 id、name 和 email。
结论
Mutation 是 GraphQL 中非常重要的一个概念。它允许客户端通过修改服务器上的数据来实现自己所需的操作。同时,Mutation 也需要与服务器一起配合来实现数据的修改操作。通过本文的学习,相信您已经掌握了 Mutation 的基本概念和使用方法。如果您正在使用 GraphQL,Mutation 就是您不可或缺的工具之一。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/671057475f551281026a0173