npm 包 @bilgorajskim/ra-data-graphql 使用教程

阅读时长 9 分钟读完

在 Web 开发中,React 是最流行的前端框架之一,而 Ra-data-graphql 是一个 React Admin 的开源数据提供程序,用于与基于 GraphQL API 的后端进行交互。该提供程序可以与任何满足 GraphQL 标准的 API 一起使用。

本教程将介绍如何使用 npm 包 @bilgorajskim/ra-data-graphql 来完成 React Admin 的前端实现。

什么是 @bilgorajskim/ra-data-graphql?

@bilgorajskim/ra-data-graphql 是一个用于在 React Admin 中使用 GraphQL 的数据提供程序。该程序与所有满足 GraphQL 标准的 API 兼容,可以大幅度提高开发效率。它基于 react-admin 和 apollo-client 进行开发,结合了两者的优点,提供了简单而强大的 GraphQL 数据获取方案。

安装和使用

安装

为了使用 @bilgorajskim/ra-data-graphql,你需要先安装它。

启用

在你的 React Admin 项目中,启用 @bilgorajskim/ra-data-graphql 有以下两种方式:

方式一:

将 @bilgorajskim/ra-data-graphql 传递给 react-admin 中的 <admin> 组件。

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

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

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

方式二:

使用 @bilgorajskim/ra-data-graphql 作为数据提供程序并将其传递给 <admin> 组件。

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

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

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

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

现在你可以通过数据来源来管理数据。

进阶用法

预定义的查询

@bilgorajskim/ra-data-graphql 支持预定义的查询,它可以让你快速地从 GraphQL API 中获取数据。以下是一个示例:

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

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

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

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

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

在以上示例中,我们使用的是 Apollo Client 的 gql 标记,并将 GET_POSTS 查询传递给 React Admin。这个查询可以与 React Admin 的 <list> 组件一起使用,重点在于将数据从 "posts" 命名空间传递到 <datagrid> 组件中的属性,以便实现数据列表。

自定义查询

你还可以使用自定义查询来获取数据。例如,以下是一个将查询参数传递给服务器进行过滤的示例:

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

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

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

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

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

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

在该示例中,我们在 GraphQL 查询中使用了一个 $author 变量。我们还将 POSTS 查询传递给了 React Admin 的 <list> 组件。并将 query 属性设置为 postQuery。

查找参考资源

如果你需要查找其他资源的参考,请先通过 <referencefield> 组件来获取该资源。

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

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

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

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

在该示例中,我们在 <referencefield> 组件中使用了 name 属性来获取相应的名字。

结论

在这篇文章中,我们介绍了 @bilgorajskim/ra-data-graphql npm 包,详细讨论了如何使用它在 React Admin 中使用 GraphQL 数据。我们了解了如何通过预定义和自定义查询来访问数据。我们还看到了如何查找参考资源。

@@以上的代码示例可能需要您在实际使用时进行适当修改。@@

在项目中采用 Ra-data-graphql,可以方便快捷获得 Flutter 数据,其技术意义不言自明,强烈建议您在开发过程中尝试使用此 npm 包。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60065f78238a385564ab6935

纠错
反馈