npm 包 redux-minimal-code-async-actions 使用教程

如果你是一个前端开发者,肯定知道 Redux 这个状态管理库是很重要的一个工具。在使用 Redux 过程中, dispatch 异步 action 是一个很常见的需求。但是 Redux 默认并不支持异步 action,这时候就需要通过 redux-thunk 或者 redux-saga 等中间件去支持异步 action。不过使用这些中间件还需要写很多繁琐的代码,为了解决这个问题,本文介绍一款 npm 包:redux-minimal-code-async-actions,让 Redux 支持异步 action 的过程更加简单。

安装

首先,我们需要安装 redux-minimal-code-async-actions 包。通过 npm 命令行可以很容易安装:

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

使用

在使用 redux-minimal-code-async-actions 的过程中,我们需要定义三种类型的 action:

  • Request(请求):用于触发异步请求的 action。
  • Received(接收成功):用于接收请求成功返回数据的 action。
  • Error(错误):用于接收请求失败返回的 action。

Request 类型 action

在 Redux 中 dispatch 一个 Request 类型的 action 大概是这样的:

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

使用 redux-minimal-code-async-actions 包后,会自动帮我们生成一个 Request 类型的 action,无需手动编写。代码如下:

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

这里的 asyncActionCreator 函数生成的对象包括 Request、Received 和 Error 类型的 action。

Received 类型 action

Received 类型的 action 用于保存请求成功后的结果数据,而且需要手动定义 payload(负载)属性。代码如下:

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

使用 redux-minimal-code-async-actions 后,我们不再需要手动定义 payload 属性。Received 类型的 action 会自动创建,代码如下:

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

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

这里 fetchData.dispatchAsync(dispatch) 返回一个 Promise 对象,可以用来获取异步请求的结果数据。

Error 类型 action

Error 类型的 action 用于保存请求失败后的错误信息,手动编写的代码如下:

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

使用 redux-minimal-code-async-actions 包后,Error 类型的 action 也不再需要手动编写。代码如下:

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

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

这里 fetchData.dispatchAsync(dispatch) 通过 catch 捕获错误,如果发生错误则会进入 catch 代码块。

示例代码

下面是一个基于 redux-minimal-code-async-actions 包的使用示例代码:

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

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

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

总结

redux-minimal-code-async-actions 包让 Redux 支持异步 action 的实现更加简单,可以大大减少我们编写冗余代码的量。在使用 redux-minimal-code-async-actions 包时,我们需要按照固定的格式定义 Request、Received 和 Error 类型的 action,并使用 asyncActionCreator 函数生成异步 action 类型的对象。如果你正在使用 Redux 并且需要支持异步 action,不妨尝试一下 redux-minimal-code-async-actions 包,它将帮助你减少代码量并提高工作效率。

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


猜你喜欢

  • npm 包 mailjet-fluent-util 使用教程

    前言 在前端开发过程中,经常需要发送邮件,比如用户注册,找回密码等业务场景。使用第三方邮件服务商能够快速地实现邮件发送功能,mailjet 是一款常用的邮件服务商。

    3 年前
  • npm 包 op-ngx-chips 使用教程

    前言 随着前端技术的不断发展,我们已经不再只是过去写几个简单的 HTML、CSS、JS 页面的时代了,而是逐渐进入了组件化、模块化、工程化的时代。而作为前端开发人员,经常需要使用各种第三方库和工具来辅...

    3 年前
  • npm 包 atscntrb-sdstring 使用教程

    什么是 atscntrb-sdstring ? atscntrb-sdstring 是一个 npm 包,它提供了一组处理字符串的函数,可以用来解析、格式化和转换字符串。

    3 年前
  • npm 包 prettyconsole 使用教程

    前言 在前端开发中,控制台信息输出是非常重要的一部分,它有助于我们快速调试代码以及找到问题所在。然而,控制台输出的内容通常都是单调的黑白文字,很难在大量输出中快速找到关注点,特别是在使用 Node.j...

    3 年前
  • npm 包 pretty-web-console 使用教程

    在进行前端开发的过程中,我们经常需要在浏览器控制台中查看输出信息。但是默认的控制台的显示效果并不能满足我们的需求,这个时候就可以使用 npm 包 pretty-web-console。

    3 年前
  • npm 包 wreact 使用教程

    介绍 wreact 是一个基于 React 的组件库,旨在提供一系列高度复用性的组件,使得开发者可以快速地构建各种类型的 Web 应用。wreact 拥有丰富的组件库,可以用于创建单页应用,管理数据等...

    3 年前
  • npm 包 server-mapping 使用教程

    概述 在前端开发中,我们经常需要与后端服务器进行数据交互。在不同的开发环境中,服务器地址会有所不同,为了方便开发和部署,我们需要一个工具来管理不同环境下的服务器地址。

    3 年前
  • npm 包 react-native-font-loader 使用教程

    React Native 是近年来非常流行的开源移动端框架,它以“Write once, run anywhere”为口号,可以让开发者用 JavaScript 语言一次开发,就可以在 iOS 和 A...

    3 年前
  • npm 包 ambienx 使用教程

    简介 ambienx 是一个 JavaScript 库,它可以根据用户所处环境的亮度来自动调整颜色。对于有强烈感光性的人来说,ambienx 可以提供更加舒适的使用体验。

    3 年前
  • npm 包 dynamic-styled-buttons 使用教程

    前言 在前端开发的过程中,我们经常需要使用一些样式按钮来美化界面,但如果每次都手动写 CSS 样式,会浪费很多时间。如果能有一个能够快速创建不同样式按钮的工具就会十分方便了。

    3 年前
  • npm 包 ionic-native-http-angular-wrapper 使用教程

    前言 ionic-native-http-angular-wrapper 是一个基于 Angular 的 Ionic 插件,它将原生的 HTTP 请求封装成了一个 Angular 服务,方便在 Ion...

    3 年前
  • npm包we-axis-form使用教程

    we-axis-form 是一个简单易用的前端表单生成器,旨在简化前端表单设计的工作量。它提供了丰富的UI组件以及具有灵活性的表单配置选项,可以帮助开发者更快速的开发出符合项目要求的表单界面。

    3 年前
  • npm 包 lambda-transport 使用教程

    简介 本文介绍如何使用 npm 包 lambda-transport,它是一个用于 AWS Lambda 和 API Gateway 之间传输数据的轻量级传输库。该库旨在提供快速简单的解决方案,以增强...

    3 年前
  • npm 包 dope-system-metrics 使用教程

    npm 包 dope-system-metrics 使用教程 简介 dope-system-metrics 是一个基于 Node.js 的 NPM 包,用于获取、记录并导出系统性能信息,包括 CPU、...

    3 年前
  • npm 包 mirum-float-labels 使用教程

    什么是 mirum-float-labels? mirum-float-labels 是一个能够创建浮动标签效果的 npm 包。它使用纯 CSS 创建浮动标签,能够帮助在输入框中显示标签而不占用额外的...

    3 年前
  • npm 包 react-native-zbsg 使用教程

    介绍 react-native-zbsg 是一个基于 React Native 的 UI 组件库,提供了丰富的组件和样式。组件的设计风格符合中国文化,更适合中国用户。

    3 年前
  • npm 包 egg-sider 使用教程

    简介 Egg-sider 是基于 Egg.js 开发的侧边栏插件,可以快速构建侧边栏面板,并提供自定义组件的能力。本文将详细介绍 egg-sider 的使用方法,帮助开发者快速使用并提高开发效率。

    3 年前
  • npm包 senomas-auth 的使用教程

    简介 senomas-auth是一个用于身份验证的npm包。它提供了一个简单易用的API,允许前端应用程序验证用户身份。 senomas-auth使用JSON Web Token(JWT)作为身份验证...

    3 年前
  • npm包 stylelint-formatter-relative-junit使用教程

    简介 在前端开发中,我们经常需要对 CSS 代码进行格式调整和规范检查。stylelint 是一款常用的 CSS 格式检测工具,可以帮助我们快速定位代码问题并提高代码质量。

    3 年前
  • npm 包 irajs-helper 使用教程

    在前端开发中,我们常常需要使用各种各样的 npm 包,其中 irajs-helper 是一个十分常用的辅助工具包,这篇文章将详细介绍 irajs-helper 的使用方法,包括其重要特性和示例代码。

    3 年前

相关推荐

    暂无文章