npm 包 react-redux-fetch-extra 使用教程

简介

在前端开发中,经常需要获取远程服务器数据,例如使用 Ajax 或 fetch 发送异步请求。而在 React.js 应用中,我们经常使用 Redux 管理数据流,其中使用了 redux-thunk 进行异步数据获取。然而,在使用中我们发现,每个不同的数据请求,都需要编写大量的 boilerplate 代码,而在每个 Redux reducer 中重复编写逻辑也十分麻烦。因此,我们需要一个更好的解决方案:react-redux-fetch-extra。

react-redux-fetch-extra 是一个专为 React.js 应用而设计的 npm 包,它可以帮助我们更简便地处理异步数据请求,并灵活地控制数据获取过程。接下来,我们将介绍如何使用 react-redux-fetch-extra。

安装

在使用前,首先需要通过 npm 安装 react-redux-fetch-extra:

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

使用

我们将会以一个示例应用为例,来演示如何使用 react-redux-fetch-extra。

假设我们有一个需求:在 React.js 应用中,展示某个 Github 用户最新创建的 5 个项目,并且需要在用户使用应用时,每隔 10 秒更新数据。

1. 配置 fetch reducer

我们首先需要定义一个 Redux reducer 来控制数据的获取。可以在文件夹下创建一个名为 github.js 文件,作为我们的项目文件:

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

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

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

在该 reducer 中,我们使用了 react-redux-fetch-extra 提供的 createFetchSlice 方法来创建一个用于处理异步请求的 reducer。在该方法中,我们需要提供一个 fetchConfig 函数,该函数返回一个对象,该对象用于配置 fetch 操作。

在该示例中,我们使用 Github API 来获取某个 Github 用户的最新创建的 5 个项目。我们可以指定 API endpoint 并附带需要的参数,例如 ?direction=desc 表示按照创建时间从新到旧排序。我们使用 getLatestProjects.reducer 导出该 reducer。

2. 配置 fetch action

我们需要定义一个 Redux action 来触发数据获取,从而更新展示,可以在 github.js 文件中添加以下代码:

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

3. 配置 fetch component

最后,我们需要在 React.js 组件中使用 fetch 数据,并展示给用户,可以在一个名为 GithubProjects.js 的文件中编写代码:

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

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

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

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

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

在该组件中,我们使用了 React Hooks 中的 useEffect 方法,用于在组件传入时开始异步请求。我们使用了 setInterval 方法,每隔 10 秒钟就重新获取一次数据。我们还使用了 connect 方法,将 Redux 中的数据和 action 注入到组件中使用。

至此,我们已经完成了 react-redux-fetch-extra 的使用,现在我们可以启动应用,看到我们的 Github 用户最新创建的 5 个项目并且每隔 10 秒更新一次。

总结

本文介绍了 npm 包 react-redux-fetch-extra 的使用方式,这个 npm 包提供了一系列的工具,用于更方便地处理 Redux 中的异步请求。我们以一个 Github 用户的最新创建项目的示例说明了该如何配置 reducer、action 和 component,来实现一个完整的应用。我们可以使用 react-redux-fetch-extra 来简化数据获取的 boilerplate 代码,提高代码可读性和重用性。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600671cc30d092702382281c


猜你喜欢

  • npm 包 @brysgo/semantic-release-bitbucket 使用教程

    介绍 @brysgo/semantic-release-bitbucket 是一个 npm 包,它能够自动化地在 Bitbucket 上为你的项目生成版本和发布日志。

    4 年前
  • npm 包 quaternion 使用教程

    quaternion 是一款 JavaScript 库,用于处理四元数。这是一款非常有用的数学工具库,在 WebGL,3D 游戏和虚拟现实开发中非常常见。本篇教程将详细介绍 quaternion 的使...

    4 年前
  • npm 包 string-stitch 使用教程

    前言 在前端开发中,我们常常需要对字符串进行拼接。然而,JavaScript 中的字符串拼接操作往往比较麻烦,尤其是涉及到多个变量或常量的情况下。这时,我们可以使用 npm 包 string-stit...

    4 年前
  • npm 包 moleculer-cls 使用教程

    前言 在前端开发过程中,我们经常使用面向对象编程(Object-Oriented Programming,OOP)的思想去构建项目。然而,当项目规模逐渐增大,代码复杂度提高,我们需要一种方法来解决 O...

    4 年前
  • npm 包 serverless-terraform-outputs 使用教程

    什么是 serverless-terraform-outputs serverless-terraform-outputs 是一个 npm 包,它可以在 serverless 架构下帮助用户获取 Te...

    4 年前
  • npm 包 @ciscospark/redux-module-user 使用教程

    在前端开发中,状态管理是一项重要的技能。而 Redux 是目前最流行的一种状态管理库。在 Redux 中,将状态存储在单一的 Store 中,借助于中间件来处理各种异步任务,同时采用了单向数据流的架构...

    4 年前
  • npm 包 stencil-strip-debug 使用教程

    在前端开发中,调试是我们开发过程中必不可少的一环。在调试过程中,我们往往会使用 console.log() 来输出一些日志信息,通常这些语句会包含在开发阶段中,但是在发布生产环境之前应该移除这些调试用...

    4 年前
  • npm 包 injectbul 使用教程

    在前端开发中,我们常常需要在页面中插入一些特定的元素或者脚本,如广告、监测脚本等。如果直接手动在 HTML 代码中插入这些元素,不仅工作量大,而且不利于维护和更新。

    4 年前
  • npm 包 pokechain 使用教程

    在前端开发中,常常需要使用各种 npm 包来提高工作效率,其中,pokechain 是一款非常有用的 npm 包,可以查询和生成钱包地址,本文将介绍如何使用 pokechain。

    4 年前
  • npm 包 @scrawl/json.schema.model 使用教程

    背景 在开发过程中,我们经常需要对 JSON 数据进行验证和模型化处理。而 @scrawl/json.schema.model 是一款优秀的 npm 包,可以帮助我们快速地对 JSON 数据进行格式校...

    4 年前
  • npm 包 splashr 使用教程

    什么是 splashr splashr 是一款基于 Node.js 的程序,用于获取网页的渲染结果。它可以通过执行 JavaScript 代码来模拟用户浏览网页的过程,并返回渲染之后的网页截图以及相关...

    4 年前
  • npm 包 @salilvnair/tspa 使用教程

    背景介绍 在前端开发中,我们经常需要进行页面路由的处理。在 Web 开发中,SPA(Single Page Application)已经成为了主流。SPA 通常是基于前端 MVC 框架实现的,在这些框...

    4 年前
  • npm 包 jointed 使用教程

    在前端开发中,我们经常需要操作 DOM 元素,对 HTML 结构进行增删改查等操作。而在实际的开发过程中,我们不可能手动去实现这些操作,因此需要利用一些工具来进行快速开发。

    4 年前
  • npm包enotasgw-nodejs使用教程

    简介 enotasgw-nodejs是一个简单易用的npm包,它为前端开发者提供了便捷的工具,使得其可以轻松地与e-Nota Gateway进行交互。e-Nota Gateway是一个强大的RESTf...

    4 年前
  • npm 包 testlib_that_should_work 使用教程

    在前端开发中,我们往往需要使用许多第三方库或者框架来辅助我们的开发工作。而 npm 是当前使用最为广泛的 JavaScript 包管理工具,大部分的前端开发者都会选择使用 npm 来获取依赖库。

    4 年前
  • npm 包 dest-cli 使用教程

    前言 在前端开发过程中,我们通常会使用很多第三方库和插件来提高开发效率,而这些工具能够让我们更快更好地完成工作。其中,npm 是最常用的包管理工具之一,而 dest-cli 则是一个非常实用的 npm...

    4 年前
  • npm 包 genshi-lib 使用教程

    前言 在前端开发过程中,我们经常需要使用各种库和框架来帮助我们提高开发效率和质量。npm 作为前端开发生态系统中最重要的包管理器之一,提供了海量的包资源供我们使用。

    4 年前
  • npm 包 commitlint-config-faithlife 使用教程

    背景 在前端开发过程中,我们经常需要进行代码版本控制。为了维持代码的高质量,从 commit message 到代码质量,我们需要严格遵守一定的规范。而 commitlint 就是为此而生的一个工具。

    4 年前
  • npm 包 token-global-identifier 使用教程

    简介 token-global-identifier 是一个很方便的 npm 包,可以帮助前端开发者更加方便快捷的管理全局变量。在实际的开发过程中,不可避免地需要使用大量全局变量,但是全局变量的滥用会...

    4 年前
  • npm 包 evare-core 使用教程

    evare-core 是一个基于 JavaScript 的 npm 包,它提供了许多有用的函数和工具,可用于在前端项目中处理数学、图形和关联数据。本篇文章将详细介绍如何使用 evare-core 包的...

    4 年前

相关推荐

    暂无文章