npm 包 redux-fetch-action 使用教程

随着现代 web 应用程序的复杂性增加,前端开发者需要面对更多数据管理的挑战。Redux 是一个 JavaScript 应用程序状态容器,它可以让你管理应用程序的所有状态。

redux-fetch-action 是一个可用于 Redux 的 npm 包,它可以缩短 Redux 中异步 Action Creator 的编写时间。它将使用 fetch 实现的 HTTP 请求封装成 Redux action,使得使用 Redux 进行状态管理变得更容易。

这篇文章将带领你学习如何在你的 React 应用程序中使用 redux-fetch-action,使得你的应用程序更加轻松地处理异步请求。

安装 redux-fetch-action

运行以下命令来安装 redux-fetch-action:

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

配置 Redux store

安装 redux-fetch-action 后,你需要在你的 Redux store 中配置它。

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

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

middleware 将自动拦截与 fetch 相关的 action,并将其转换为异步请求。

定义 Action Creator

下面是一个简单的示例,展示如何使用 redux-fetch-action 创建 Async Action Creator。

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

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

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

createAction 函数,接受两个参数:

  • action 的类型
  • 在成功访问 API 后返回的数据的 promise

在此示例中,action 类型是 FETCH_USERS,它将发出一个请求到 https://jsonplaceholder.typicode.com/users 并预期响应是一个 JSON 格式的集合。

如果 fetch 请求成功,它将返回一个包含响应体的 promise,reich-action 将会将此响应体传递到 reducer 中用于状态更新。

触发异步请求

通常情况下,我们会在组件中触发异步请求。

我们在组件中使用 connect 函数将 fetchUsers 添加到 Props 然后 dispatch 它。

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

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

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

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

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

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

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

组件调用 fetchUsers 进行异步请求,并在 componentDidMount 生命周期方法中进行请求,当请求完成后,用户数据将会渲染到界面上。

监听请求状态

redux-fetch-action 支持 request 和 success 的状态更新。

我们可以在 reducer 里使用自动生成的 action 类型进行状态更新,在此轻松使用 redux-thunk 处理异步请求中的 request 和 success 状态:

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

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

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

Conclusion

在这篇文章中,我们学习了如何使用 redux-fetch-action 更轻松地处理异步请求。你可以在你的 React 应用中使用 redux-fetch-action 并让你的异步请求更容易理解和管理,更加重要的是,使用 redux-fetch-action 能够更加规范地管理 Redux Action Creator。

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


猜你喜欢

  • npm包sprite-packer使用教程

    在前端开发中,经常会用到图片的小图合成,以减少HTTP请求,加快网页的加载速度。而在实现这样的小图合成时,就需要使用到一个npm包——sprite-packer。 在本文中,我们将介绍sprite-p...

    4 年前
  • npm 包 sqs-jobs 使用教程

    什么是 sqs-jobs? sqs-jobs 是一个 npm 包,它提供了一个工作队列服务,使得用户可以将任务委托给其他服务处理。这种方式节省了系统的计算资源,减少了相互依赖的服务之间的耦合性。

    4 年前
  • npm 包 sprite-reader 使用教程

    简介 sprite-reader 是一个能够将雪碧图信息解析到对象中的 npm 包。对于前端开发来说,使用雪碧图能够提高页面的加载速度和用户体验,但是手动维护雪碧图信息不仅繁琐,而且容易出错,使用 s...

    4 年前
  • npm 包 sprite-sass 使用教程

    在前端开发中,经常需要使用图片来实现各种视觉效果,例如图标、背景等等,而使用零散的图片文件并不方便统一管理和维护。这时候,我们就需要使用雪碧图(sprite)技术来将多张小图片合并成一张大图,并通过 ...

    4 年前
  • npm 包 sprite-spirit 使用教程

    前言 在前端页面的优化中,减少 HTTP 请求是一个非常关键的问题。而 CSS Sprites 技术就是其中的一种优化方案。它通过将多个小图标合成到一张大图上,然后通过 background-posi...

    4 年前
  • npm 包 sprite-timeline 使用教程

    前言 在前端开发中,动画效果的运用能够大大提升页面的交互性和用户体验,而使用 sprite-timeline 可以帮助我们更快捷、高效地实现各类动画效果。 本文将为大家详细介绍 npm 包 sprit...

    4 年前
  • npm 包 ssi-webpack-plugin 使用教程

    前言 在前端开发过程中,我们可能需要在一个 HTML 文件中嵌入另一个 HTML 文件的内容,这时候就需要用到服务器端包含(Server Side Include,简称 SSI)。

    4 年前
  • npm 包 sprite-webpack-plugin 使用教程

    前言 在前端页面中,我们经常需要使用雪碧图来优化性能。虽然我们可以通过手动合并图片来生成雪碧图,但是这样做非常繁琐且容易出错。而通过使用 npm 包 sprite-webpack-plugin,我们可...

    4 年前
  • npm 包 sprite.js 使用教程

    什么是 sprite.js sprite.js 是一个用于创建图像精灵的库,允许您动态编程创建图像精灵,它是一个基于 Canvas 的 JavaScript 库,作为一个轻量级的 tweening库,...

    4 年前
  • npm 包 srcds-rcon 使用教程

    在前端开发中,我们经常需要操作游戏服务器,例如查询服务器状态、更改服务器设置等等。而 srcds-rcon 是一款可用来连接和管理游戏服务器的 npm 包。在本文中,我们将会介绍如何使用 srcds-...

    4 年前
  • NPM 包 sshync 使用教程

    sshync 是一个基于 SSH 协议的文件同步工具。它可以帮助前端工程师快速、方便地将本地代码同步到远程服务器。它的操作简单易懂,功能强大,非常适合用于前端云端开发和部署。

    4 年前
  • npm 包 srcds-logs 使用教程

    npm 包 srcds-logs 是一个针对源引擎游戏服务器的日志解析工具,该工具可以解析源引擎游戏服务器的日志文件,并提取出有用的信息。该工具可以帮助服务器管理员更加方便地管理游戏服务器,同时也可以...

    4 年前
  • npm 包 srcgen 使用教程

    在前端开发中,代码生成工具是一个必不可少的利器。而 npm 包 srcgen 就是一个功能强大的代码生成工具,它可以让你更加高效地生成代码、模板和文档。在本文中,我们将介绍 srcgen 的使用教程,...

    4 年前
  • npm 包 ssi-compile-webpack-plugin 使用教程

    前言 在前端开发中,我们经常需要使用一些静态网页,如纯 HTML 或者 HTML + CSS。而对于这种网页,如果需要使用一些动态功能,比如说引用公共头部、尾部或者侧边栏等等,那么就需要用到 SSI(...

    4 年前
  • npm 包 srcgrep 使用教程

    介绍 srcgrep是一个非常方便的npm包,可以帮助我们在代码库中查找特定的文本或正则表达式匹配项。无论从何处查找,包括源代码,配置文件或其他文档和存储库,其支持我们以非常易于使用和一致的方式快速查...

    4 年前
  • npm 包 ssi-http-parser 使用教程

    前言 在前端开发中,我们常常需要处理数据流,并且处理数据流的一种常见方式是使用 http。当我们需要从服务器端获取数据时,我们通常会使用 http 协议来请求数据。

    4 年前
  • NPM 包 SSI-CLI 使用教程

    SSI-CLI 是一个基于 Node.js 开发的命令行工具,用于在静态 HTML 文件中嵌入 Server Side Includes (SSI)。SSI 指令可用于在 Web 服务器上动态地生成 ...

    4 年前
  • npm 包 ssi-parser 使用教程

    如果你是一名前端工程师,可能会遇到需要在页面中使用 SSI (Server Side Includes) 语法实现代码复用或者其他功能的情况。而 ssi-parser 就是一个 npm 包,它能够帮助...

    4 年前
  • sqs-pipeline-lambda-receiver

    Reveiver module for sqs data pipelines sqs-pipeline-lambda-receiver Sender module for sqs data pipel...

    4 年前
  • npm包sqs-pipeline-lambda-reciever使用教程

    在云服务领域,AWS SQS是一个被广泛使用的消息队列服务,它可以帮助我们为分布式应用程序解耦消息处理的过程。但是,为了将消息处理到Lambda函数中,我们需要编写一些代码来驱动SQS并触发Lambd...

    4 年前

相关推荐

    暂无文章