解析 GraphQL 的 Schema 第四步:Mutations

在前面的几篇文章中,我们已经介绍了 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