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 包 jedifocus.modals 使用教程

    jedifocus.modals 是一个基于 jQuery 的轻量级弹窗插件,用于创建多种类型的弹窗,例如提示、警告、确认等。本文将详细介绍如何使用该插件来创建各种类型的弹窗。

    3 年前
  • npm 包 jedifocus.navigations 使用教程

    随着现代 Web 应用的越来越复杂,网站导航变得越来越重要。jedifocus.navigations 是一个基于 JavaScript 的开源库,它提供了一些方便的方法来创建和管理网站导航栏。

    3 年前
  • 前端开发者必备:npm 包 jedifocus.styles 使用教程

    在前端开发中,我们经常会用到各种 npm 包,其中 jedifocus.styles 是一款非常实用的 npm 包。它提供了一系列优秀的样式和样式工具,可以帮助我们在网站、应用和系统开发中快速实现不同...

    3 年前
  • NPM 包 jedifocus.store 使用教程

    在前端开发中,使用 NPM 包是必不可少的,因为它可以帮助我们快速地完成复杂的任务和功能。jedifocus.store 是一个用于管理本地存储和会话存储的 NPM 包,这篇文章将介绍它的使用方法。

    3 年前
  • npm 包 jedifocus.text 使用教程

    前端开发中,文本处理是必不可少的操作,而 jedifocus.text 这个 npm 包可以帮助我们更加高效地处理文本。本文将介绍 jedifocus.text 的使用方法,希望能对前端开发者有所帮...

    3 年前
  • npm 包 homebridge-sesame-beta 使用教程

    前言 homebridge 是行业内较为流行的智能家居管理框架,其通过一系列插件实现对各种智能设备的统一管理。而 homebridge-sesame-beta 则是面向sesame 可自动加锁自动解锁...

    3 年前
  • npm 包 avdo 使用教程

    什么是 avdo avdo 是一个集成了视频处理、音频处理、图像处理等功能的 npm 包,可以在前端项目中使用。 如何安装 avdo 执行以下命令安装: --- ------- ----如何使用 av...

    3 年前
  • npm 包 parcel-plugin-inline-worker 使用教程

    前言 在前端开发过程中,我们经常需要使用 web worker 来提高程序性能和用户体验,但是 worker 文件必须是独立的文件,这就带来了一个问题:如何将 worker 文件打包进入生产环境? p...

    3 年前
  • npm 包 "little-cleaner" 使用教程

    简介 "little-cleaner" 是一个可以帮助前端开发者对代码进行简单的清洁和格式化的 npm 包。它可以用于清洁 HTML、CSS 和 JavaScript 代码,使其易于阅读和维护。

    3 年前
  • npm 包 scrollemitter 使用教程

    随着网页的复杂度不断提高,需要监听滚动事件的场景也越来越多。虽然原生的滚动事件很好用,但是在实际开发中,我们更希望有一种更便捷、更高级的方式来监听滚动事件,以便更好地控制网页的交互效果。

    3 年前
  • npm 包 aurelia-ssr-engine 使用教程

    在这个现代化的 Web 开发时代,单页面应用(SPA)已经成为了主流。SPA 的核心优势是可以将整个 Web 应用程序逻辑全部交给前端应用程序来完成,从而使后端业务逻辑变得简单化。

    3 年前
  • npm 包 bruteforcer 使用教程

    npm 包 bruteforcer 使用教程 前言 随着互联网的发展,越来越多的网站需要用户进行注册或登录,而用户又可能会忘记自己的用户名或密码,因此需要开发一些工具来辅助用户找回密码或者对用户密码进...

    3 年前
  • npm 包 fnc-args 使用教程

    介绍 fnc-args 是一个基于 Node.js 平台的 npm 包,专门用来解析函数参数。它可以帮助开发者方便地获取函数参数名及其对应的值,并且支持 TypeScript 和 JavaScript...

    3 年前
  • npm 包 sinkmvc 使用教程

    在前端开发中,常常会用到各种 npm 包来快速构建应用,提高生产效率。而 sinkmvc 就是一个方便快捷的 npm 包,它能帮助我们快速构建一个具备 MVC 架构的前端应用。

    3 年前
  • npm 包 mont 使用教程

    npm 是 Node.js 的包管理器,它可以方便地帮助我们管理第三方模块。其中,mont 是一个简单的 HTTP 服务器,它可以用于开发和测试 Web 应用程序。

    3 年前
  • npm 包 @rabbitcc/create 使用教程

    如果你正在从事前端开发,那么你一定会频繁地使用 npm 来安装各种包。每次使用 npm init 来创建项目时,都需要手动输入一些信息,这个过程有时候会比较繁琐。为了优化这一步骤,@rabbitcc/...

    3 年前
  • npm 包 generator-chehejia-test-test-test 使用教程

    介绍 generator-chehejia-test-test-test 是一种用于生成前端项目的脚手架工具。它基于 Yeoman,可以快速地生成项目基础结构,包括文件夹、配置文件、测试文件等等。

    3 年前
  • npm 包 vue-sync-form 使用教程

    简介 vue-sync-form 是一个基于 Vue.js 的 npm 包,它可以轻松实现表单元素与数据模型之间的双向数据绑定。该包可以大幅度减轻前端开发任务中表单元素与数据模型处理的负担,帮助开发者...

    3 年前
  • npm 包 toastedjs 使用教程

    在前端开发中,经常需要弹出一些提示框来提醒用户或者进行交互,这时候我们就需要用到一些工具库来方便我们实现这些功能。在这篇文章中,我将介绍一个非常好的 npm 包 toastedjs,并提供使用教程和示...

    3 年前
  • npm 包 trujs-test 使用教程

    在前端开发中,我们经常需要编写测试用例来保证代码的质量和正确性。而编写测试用例的过程需要手动编写大量的代码,这对于开发效率和代码维护来说都是一种挑战。 为了解决这个问题,我们可以使用 npm 包 tr...

    3 年前

相关推荐

    暂无文章