如何使用 Relay Modern 实现更快的 GraphQL 查询

GraphQL 是一种强类型的查询语言,可以用于构建 API。然而,与 REST API 相比,GraphQL 查询的性能可以变得相当糟糕。这是因为在默认情况下,GraphQL 服务器会返回完整的响应,而且每个属性只能由一个字段进行调用。这意味着你需要调用多个字段来获取你所需要的信息。这样的查询带来了许多重复的数据和调用,导致查询变得缓慢且效率不高。

使用 Relay Modern 可以帮助解决这个问题,它是 Facebook 推出的新版本的 Relay 框架。

什么是 Relay Modern?

Relay Modern是一个JavaScript框架,它可以协调React和GraphQL请求。这个框架对于移动应用程序和其他网络感知应用程序非常有用,这些应用程序需要快速提供信息而不会导致不必要的响应延迟。它具有更快的性能,更容易使用和更好的可维护性。

如何使用 Relay Modern?

使用 Relay Modern 可以极大地提高GraphQL查询的效率,提高在前端调用GraphQL查询时的速度。根据官方文档,你可以按如下步骤来使用 Relay Modern:

第一步:安装 Relay Modern

你可以使用 npm 或 yarn 来安装了解你的应用程序所需的依赖项:

- --- ------- ------ -----------

第二步:创建一个 Relay Modern 环境

relay-runtime 包中提供了创建一个包含网络层、环境和 store 的对象的能力:

------ - ------------ -------- ------------- ----- - ---- ----------------

-------- --------------------- ---------- -
    ------ ----------------- -
        ------- -------
        -------- -
            --------------- -------------------
        --
        ----- ----------------
            ------ ---------------
            ----------
        ---
    ------------------ -- -
        ------ ----------------
    ---
-

----- ----------- - --- -------------
    -------- ---------------------------
    ------ --- --------- ----------------
---

第三步:创建一个 GraphQL 查询

你可以使用 graphql-tag 从字符串创建一个 GraphQL 查询。这个库会把一个 GraphQL 查询字符串转换成一个 AST,然后可以被使用来回答一个查询:

------ - ------- - ---- --------------

----- ------- - --------
    ----- ------- -
        ----- -
            -----
            ------ -
                ----
                -----
            -
        -
    -
--

第四步:创建一个 React 组件

Relay 中的组件是通过一个函数调用来创建的,这个函数返回一个被渲染的 React 组件和一些配置:

------ ----- ---- --------
------ - ------------------------ ------- - ---- --------------

-------- ------ ---- -- -
    ------ -
        -----
            ---------------------
            ---
                ------------------ ---------------------
            ----
        ------
    --
-

----- --------------------- - ----------------------------- -
    ----- --------
        -------- --------- -- ---- -
            -----
            ------ -
                ----
                -----
            -
        -
    --
---

------ ------- ----------------------

第五步:在 React 组件中使用 Relay

将组件与查询相关联:

------ ----- ---- --------
------ - ------------- - ---- --------------
------ - ----------- - ---- ----------

------ ---- ---- --------------------

------ ------- -------- ----- -
    ------ -
        --------------
            -------------------------
            ---------------
            --------------
            ---------- ------ ----- -- -- -
                -- ------- -
                    ------ ------------------
                -

                -- -------- -
                    ------ ----------------------
                -

                ------ ----- ------------------ ---
            --
        --
    --
-

总结

Relay Modern 是一个出色的工具,可以帮助前端开发者在 GraphQL 查询时提高效率。本文中我们介绍了 Relay Modern 的使用,并且提供了一些示例代码帮助您开始使用它。在您的下一个前端项目中使用 Relay Modern,看看它是否能提高您的开发体验和效率。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6652ce21d3423812e47542ef