npm 包 redux-fetch-middleware 使用教程

简介

redux-fetch-middleware 是一个 Redux 中间件,它将处理异步请求的流程转移到中间件中。它使用了 fetch API,可以简化异步请求的发起和管理,同时提供了可拓展的配置,可以满足不同场景下的异步处理需求。

安装

使用 npm 进行安装:

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

使用方法

引入中间件

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

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

发起请求

通过 dispatch 发起请求:

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

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

fetch 函数可以接收的参数包括以下内容:

  • url:请求的 URL 地址。

  • options:fetch 函数接收的第二个参数(详细信息参见 MDN 的 fetch 函数文档)。

  • meta:一个对象,用于传递请求相关的元数据信息。例如:

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

处理响应

请求成功时,中间件会自动将响应数据传递给 reducer 中相应的 action,例如:

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

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

请求失败时,中间件会将错误信息转为一个包含 typepayload 字段的 action,例如:

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

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

配置

redux-fetch-middleware 的默认配置可以满足大多数场景,但在特殊情况下可能需要自定义配置。在使用 applyMiddleware 引入 middleware 时,可以通过传递可选的配置对象来覆盖默认配置。例如:

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

----- ----- - ------------
  ------------
  ----------------
    -----------------
      -------- --------------------------
      -------------------- -
        -- ----------- -------- --
        ------ ---------
      -
    --
  -
--
  • baseUrl:发送请求时自动添加的基础 URL,方便在不同环境下切换域名。
  • onResponse:处理响应的回调函数。它会接收一个 response 对象,返回一个新的 response 对象。可以在此函数中进行自定义的请求响应处理,例如在 response 中添加一些自定义的数据字段。

示例代码

这里提供一个使用 redux-fetch-middleware 向 API 发起请求并渲染数据的示例。假设我们有一个类似如下的 API:

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

返回一个包含文章列表的 JSON 数据:

-
  -------- -
    - ----- -- -------- ------ ------ ------- ----- --
    - ----- -- -------- ------- ------ ------- ----- --
    - ----- -- -------- ------ ------ ------- ----- -
  -
-
  1. 安装 redux-fetch-middleware:

    --- ------- ----------------------
  2. 创建 Redux store,并引入 redux-fetch-middleware 中间件:

    ------ - ------------ --------------- - ---- --------
    ------ --------------- ---- -------------------------
    ------ ----------- ---- -------------
    
    ----- ----- - ------------
      ------------
      --------------------------------
    --
  3. 在组件中 dispatch 请求,并在渲染时使用返回的响应数据:

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

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


猜你喜欢

  • npm 包 speckling 使用教程

    前言 在前端开发过程中,我们经常需要进行校验操作,如检查表单中的输入是否符合规范。speckling 是一个功能强大的 JavaScript 校验工具,它可以对各种数据进行校验,并提供友好的错误提示。

    4 年前
  • npm 包 specky 使用教程

    介绍 specky 是一个基于 ESLint 和 Prettier 的 JavaScript 代码规范工具。它能够提供全面的代码检测和修复,帮助开发者避免常见的代码错误,从而提高代码质量和可维护性。

    4 年前
  • npm 包 specky-docgen 使用教程

    介绍 specky-docgen 是一个 npm 包,用于生成 React 组件的文档。它采用了简单易用的方法生成 React 组件自动化的 API 文档。 specky-docgen 的特点包括: ...

    4 年前
  • npm 包 specky-gen 使用教程

    简介 specky-gen 是一个非常实用的 npm 包,可以在前端开发中自动化生成接口文档以及 API 的代码。本教程将详细介绍 specky-gen 的使用方法,帮助读者快速掌握这个工具的使用。

    4 年前
  • npm 包 spawn-perl 使用教程

    在前端开发中,常常需要使用一些外部的命令行工具来完成一些任务。而在 Node.js 环境下,我们可以使用 child_process 模块来执行这些外部命令。但是,如果要执行的命令是 Perl 脚本,...

    4 年前
  • npm 包 specla-language 使用教程

    简介 specla-language 是一个用于处理自然语言的 JavaScript 库。它可以帮助我们快速地处理语言的各种任务,例如词汇分析、句法分析、情感识别等等。

    4 年前
  • npm 包 specla-router 使用教程

    简介 specla-router 是一个轻量级的前端路由库,可以帮助我们实现页面的无刷新局部更新。它支持基于 hash 或 history API 的路由方式,同时提供了非常方便的 API,让我们能够...

    4 年前
  • npm 包 spinein 使用教程

    简介 Spinein 是一个前端开发工具,它提供了一些常用的工具函数和组件,能够帮助我们更高效地开发前端应用。 安装 Spinein 可以通过 npm 安装: --- ------- -------使...

    4 年前
  • npm 包 specky-react 使用教程

    在现代的前端开发中,使用第三方的库和工具早已经成为了一种非常普遍的方式。其中,npm 是一个非常流行和重要的包管理工具。它允许开发者在项目中轻松引入和管理各种第三方库和工具。

    4 年前
  • Npm 包 specky-src 使用教程

    在前端开发中,我们经常需要在编辑器中写代码,并且需要对代码进行格式化、语法高亮、错误检测和优化等操作。Npm 包 specky-src 就是一个非常好用的工具,它可以帮助我们实现这些操作。

    4 年前
  • npm 包 specla-autoloader 的使用教程

    在前端开发中,我们经常会遇到需要自动加载组件或模块的需求。而今天,我们要介绍的是一个非常方便的 npm 包:specla-autoloader。 安装 首先,需要在项目根目录下通过 npm 安装 sp...

    4 年前
  • npm 包 specia-database 使用教程

    specia-database 是一个适用于前端开发者的 npm 包,它提供了一个简便的方式,让你能够将本地存取与远程存储进行结合。如果你正在处理数据,那么这个库将是相当有用的工具。

    4 年前
  • npm 包 specla-framework 使用教程

    简介 specla-framework 是一个基于 Vue.js 和 Element UI 的前端组件库,包含了诸多基础组件和复杂组件,以及一些常用的工具函数。该组件库维护方便,组件丰富,是前端工程师...

    4 年前
  • npm 包 spineless 使用教程

    什么是 spineless? Spineless 是一个轻量级的 JavaScript 库,用于管理 SVG 图像中的路径。它能够帮助开发者轻松创建、编辑和动画化 SVG 路径,为开发过程增加了更多的...

    4 年前
  • npm 包 spinlock 使用教程

    本篇文章将为大家介绍一个非常有用的 npm 包 spinlock,它可以帮助前端开发者轻松地实现异步操作的同步控制。本文将为读者详细讲解该库的使用方法,并提供实用的示例代码,希望能够帮助到前端开发者更...

    4 年前
  • npm 包 sp500-list 使用教程

    随着 Internet 技术的不断发展,前端工程师们也需要熟练地使用一些工具和库来提高工作效率。而 npm (Node Package Manager) 就是一个非常有用的前端开发工具。

    4 年前
  • npm 包 spa 使用教程

    前端开发中,单页应用(Single Page Application,简称SPA)已经成为一种非常流行的开发方式。SPA 把一个网站的所有页面都集中到一个单独的网页应用程序中,只在必要的时候向服务器请...

    4 年前
  • npm 包 spectacle-reporter 使用教程

    随着前端技术的快速发展,各种工具包也纷纷出现。npm 作为前端包管理工具,方便开发者使用各种依赖包。在前端项目中,我们通常需要生成代码文档,让其他开发者快速了解项目结构和代码功能。

    4 年前
  • npm 包 spectacle-terminal 使用教程

    简介 spectacle-terminal 是一个基于 Spectacle 的组件,用于将终端命令转换为演示文稿。 将终端命令转换成演示文稿可以使得软件开发人员在进行演示的时候更加生动形象地展示代码功...

    4 年前
  • npm 包 spectacle-theme-nova 使用教程

    简介 spectrum-theme-nova 是一款基于 Spectacle 的 JavaScript 库,用于创建演示文稿。它提供了一种现代化的主题,帮助用户快速创建出美观的演示文稿。

    4 年前

相关推荐

    暂无文章