npm 包 redux-asynch-middleware 使用教程

介绍

redux-asynch-middleware 是一个用于处理异步 action 的 redux 中间件。它可以使得我们在 redux 中以更加清晰规范的方式进行异步处理。

安装

要使用 redux-asynch-middleware,我们需要先安装它。在命令行中输入以下命令:

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

使用

接着,在 store.js 中引入 redux-asynch-middleware:

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

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

我们需要注意的是,redux-asynch-middleware 需要和 redux-thunk 配合使用,因为它使用了 redux-thunk 中间件的 dispatch 方法。所以,我们也需要在 store.js 中引入 redux-thunk:

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

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

示例

接下来,让我们来看一下如何在 redux 中调用异步 action。

首先,我们需要定义一个异步 action:

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

在上面的代码中,我们首先向 redux 发送一个 FETCH_DATA_REQUEST 的 action。然后,我们使用 try-catch 块来从服务器获取数据,并在获取成功后,向 redux 发送 FETCH_DATA_SUCCESS 的 action,并且将获取到的数据作为 payload 传递给该 action。如果获取数据的过程中出现了错误,我们将发送 FETCH_DATA_FAILURE 的 action,并且将错误对象作为 payload 传递给该 action。

接下来,在组件中,我们需要按照以下方式调用这个异步 action:

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

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

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

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

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

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

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

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

在上面的代码中,我们通过 connect 函数将组件与 redux 连接起来,并将 fetchData action 作为 props 注入到该组件中。其中,componentDidMount 方法中调用了 fetchData action,并且在组件渲染过程中,根据 isLoading 和 error 的不同情况,展示不同的内容。

结语

通过学习本文,我们学会了如何使用 redux-asynch-middleware 来处理 redux 中的异步 action。通过这种方式,我们可以以一种更加清晰规范的方式组织我们的代码,并且更好地维护我们的 redux 应用程序。

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


猜你喜欢

  • npm 包 @anycli/version-plugin 使用教程

    在前端开发过程中,经常需要对项目中的版本进行管理,特别是在多人合作的开发过程中。而 npm 包 @anycli/version-plugin 可以帮助我们更方便地管理项目的版本信息,本文将详细介绍该 ...

    3 年前
  • npm 包 add-assets-to-json-webpack-plugin 使用教程

    在前端开发中,我们通常会使用 Webpack 来打包我们的代码,同时在打包过程中也会需要生成一些额外的文件,比如生成一个 JSON 文件来存储一些静态资源的路径。而这篇文章将要介绍的 npm 包 ad...

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

    React 是一款流行的前端框架,许多项目都会使用它进行开发。但是在开发中常常会遇到需要在不同组件之间进行跳转的需求。此时,一个名为 react-jump 的 npm 包便能够解决这个问题,下面我们将...

    3 年前
  • npm 包 griptape 使用教程

    简介 griptape 是一个基于 Web3.js 和 React 的编写的钱包框架,它提供了一系列有用的钱包功能,如发送代币、查看交易历史、管理钱包地址、与 DApp 交互等等。

    3 年前
  • npm包jate-framework使用教程

    简介 jate-framework是一个快速开发 Web 应用的框架,并且支持多种前端框架和语言,例如React、Vue、Angular、Typescript等等。

    3 年前
  • npm 包 serverless-validator 使用教程

    随着 Serverless 技术的快速发展,越来越多的开发者开始使用不同的 Serverless 平台来构建和部署应用程序,而这些应用程序需要一个轻量级的验证框架,来帮助开发者快速验证应用程序所需的各...

    3 年前
  • NPM包@anycli/not-found-plugin使用教程

    在前端开发中,我们经常需要自定义CLI工具来提高开发效率。而创建CLI工具需要用到很多技术和工具,其中NPM包是不可或缺的一部分。本文会介绍一个非常实用的NPM包:@anycli/not-found-...

    3 年前
  • npm 包 git-log-as-object 使用教程

    在前端开发中,我们经常需要查看代码库的提交历史,来追踪代码的变化和进展。而使用 Git 的话,可以通过 git log 命令来查看提交历史。但是默认情况下,git log 命令输出的是文本格式的提交记...

    3 年前
  • npm 包 eslint-config-simian 使用教程

    前言 随着前端工程化的快速发展,代码质量的管理变得越来越重要。在这种背景下,静态代码分析工具被广泛应用,而 Eslint 是其中最受欢迎的一种。使用 Eslint 可以帮助我们找出代码中的潜在问题,提...

    3 年前
  • npm 包 reequire 使用教程

    在前端开发中,我们通常会使用许多第三方的开源库和框架来为我们的项目增添更多的功能和特性。而这些库和框架的管理和安装通常通过 npm 包来实现。在本文中,我们将介绍一种非常方便且实用的 npm 包 --...

    3 年前
  • npm 包 xiedaimala 使用教程

    简介 xiedaimala 是一个开源的 npm 包,主要用于前端开发相关的教程和示例的提供(可以在 npm 官网进行下载)。如果你是前端小白,xiedaimala 可以帮助你快速入门,学习前端技术;...

    3 年前
  • npm 包 @kingstinct/moment-recur 使用教程

    在开发项目时,时间的计算和处理是非常常见的需求。而 @kingstinct/moment-recur 这个 npm 包则提供了方便灵活的时间重复计算功能,可以大大简化开发者的工作。

    3 年前
  • npm 包 bootstrap-size-display 使用教程

    前言 Bootstrap 是一款流行的前端框架,能够帮助开发者简化网页开发过程。其中的栅格系统特别实用,但是有时候在开发中难以准确地判断当前屏幕的尺寸,这就导致了在不同设备上展示的效果会有所差别,因此...

    3 年前
  • npm 包 node-event-socket 使用教程

    介绍 node-event-socket 是一个基于 Node.js 和 Socket.io 的事件推送库,用于实现服务端向客户端推送事件信息。它提供了一个简单易用的接口,使得开发者可以快速地在自己的...

    3 年前
  • npm 包 package-orig 使用教程

    npm 是一个强大的软件包管理器,可以帮助前端工程师轻松管理 JavaScript 库和框架。在众多的 npm 包中, package-orig 是一个非常实用的工具包,它可以帮助你快速创建基于 we...

    3 年前
  • npm 包 @codewilling/jupyterlab_grid_status_widget 使用教程

    在前端开发中,随着项目和团队的不断扩张,管理和监控项目状态变得越来越困难。作为一名前端开发者,你需要寻找一款能够帮助你实时监控和管理项目运行状态的工具。在这里,我们介绍了一款npm包——@codewi...

    3 年前
  • npm 包 cus-log 使用教程

    前言 在前端开发中,我们经常需要通过 console.log() 来打印输出调试信息。然而,这样的输出信息常常难以区分或者混杂在其他的信息中,造成了我们调试的不便。

    3 年前
  • npm 包 syncano-global-cli 使用教程

    介绍 Syncano 是一个具有服务端和客户端功能的应用开发平台,它可以用来开发现代应用中的业务逻辑和数据模型。Syncano 使用简洁明了的 API 和 Websocket,使得开发者可以快速构建高...

    3 年前
  • npm 包 github-portfolio-component 使用教程

    简介 github-portfolio-component 是一个用于构建属于自己的 GitHub 仓库展示页面的开源组件,该组件由 React 框架构建,是一款非常适用于开发者的展示组件,在招聘、项...

    3 年前
  • npm 包 fresh-resume-schema 使用教程

    在前端开发中,简历便是一个不可或缺的重要内容。而在简历的制作过程中,使用规范化的既定格式能够让简历更加清晰、易读、易理解。在这里,我们介绍一个 npm 包 fresh-resume-schema 用于...

    3 年前

相关推荐

    暂无文章