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 包 cordova-plugin-acmp 使用教程

    简介 cordova-plugin-acmp 是一个 Cordova 插件,用于 Android 平台音乐播放和控制。该插件封装了 Android 可用的 MediaPlayer 类,以便于前端开发者...

    3 年前
  • npm 包 express-resolve-path 使用教程

    npm包express-resolve-path使用教程 在前端开发中,我们通常需要使用Node.js和npm包管理器来构建Web应用程序。而其中一个重要的npm包就是express-resolve-...

    3 年前
  • npm 包 mip-forms 使用教程

    mip-forms 是一个用于快速创建表单的 npm 包。在前端开发中,表单常常是不可或缺的一部分。mip-forms 可以帮助开发者快速创建表单,并提供轻松的表单数据管理功能。

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

    简介 Pinyin Engine 是一个用于将中文汉字转化成拼音的 npm 包。通过这个包,您可以方便地将中文汉字转化成拼音,并且可以选择不同的转化模式。本文将向您介绍 pinyin-engine 的...

    3 年前
  • npm 包 vue-simple-assistive-ball 使用教程

    介绍 vue-simple-assistive-ball 是一个 Vue.js 组件,提供一个半透明的浮动球,用户可以拖动它来打开相关的功能弹窗,如回到顶部、侧边栏等功能。

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

    在实际的前端开发中,我们往往需要使用到各种第三方库来提高我们的开发效率和代码质量。npm 是目前最为流行的 JavaScript 包管理器之一,而 react-vr-hand 就是 npm 上提供的一...

    3 年前
  • npm 包 hummus-form-basics 使用教程

    介绍 npm 包 hummus-form-basics 是一个基于 HummusJS 的 PDF 表单操作工具。使用该工具,您可以轻松地在 PDF 文件中创建、填写、保存表单。

    3 年前
  • npm 包 notify_sender 使用教程

    1. 简介 notify_sender 是一个基于 Node.js 的 npm 包,用于发送桌面通知。它支持 Windows、macOS 和 Linux 平台,并且可以自定义通知的标题、消息内容和图标...

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

    介绍 react-category-jd 是一个层次分类组件,可以让用户方便地选择多个分类项。react-category-jd 针对京东的分类展示进行了优化,界面美观且易于使用。

    3 年前
  • NPM包react-native-cards使用教程

    介绍 react-native-cards是一个React Native组件库,它可以让你轻松地创建卡片式UI。它提供了多种样式和皮肤,你可以根据自己的需要选择合适的卡片风格。

    3 年前
  • npm 包 unixtimejs 使用教程

    1. 简介 Unix 时间戳(Unix Time Stamp)是从 1970 年 1 月 1 日 00:00:00 UTC 到当前时间的秒数。在前端开发中,经常会涉及到时间戳的转换和比较,这时我们可以...

    3 年前
  • npm 包 hyper-giphy-stickers 使用教程

    简述 hyper-giphy-stickers 是一个帮助我们在 Hyper 终端中使用 Giphy 表情包的 npm 包。它以命令行的形式为终端用户提供了一个接口,用于搜索并自动粘贴 Giphy 表...

    3 年前
  • npm 包 jquery.autocomplete-multiple 使用教程

    介绍 jquery.autocomplete-multiple 是一个能够提供自动补全多选功能的 jQuery 插件。该插件利用了 jQuery UI Autocomplete 控件的能力,提供了多选...

    3 年前
  • Neutrino 中间件 neutrino-middleware-case-sensitive-paths 使用教程

    简介 在前端开发中,我们经常遇到因为大小写不敏感而导致的一些问题,如文件名大小写不一致、import 导入时错误等。neutrino-middleware-case-sensitive-paths 就...

    3 年前
  • npm 包 neutrino-preset-stylelint-l3e 使用教程

    在前端开发中,我们经常遇到要编写样式的情况。而写好的样式需要保持良好的可读性和可维护性,这是我们需要使用规范化工具的原因之一。StyleLint 是一款常用的样式规范工具之一,它可以让我们在写 CSS...

    3 年前
  • npm 包 chalk-optimiser 使用教程

    在前端开发过程中,控制台日志是很重要的一环,但是默认的控制台输出往往不够直观、美观,而 npm 包 chalk-optimiser 则可以帮助我们更好地定制控制台输出样式,让日志信息更加易读易懂。

    3 年前
  • npm 包 foxtrel-command-release 使用教程

    介绍 在前端开发中,我们经常需要发布我们的 Web 应用程序。这涉及到许多步骤,如测试、构建、打包和发布。为了自动化这些任务,我们可以使用一些工具来帮助我们完成这些任务。

    3 年前
  • npm 包 jquery-tnw-scroll 的使用教程

    简介 jquery-tnw-scroll 是一个可以用于网页滚动的 jQuery 插件,该插件可以非常方便地实现自定义的网页滚动效果。如果你想要让你的网页看起来更加炫酷、更加专业,那么 jquery-...

    3 年前
  • npm 包 slide-toolkit 使用教程

    介绍 slide-toolkit 是一款基于 React 和 CSS3 的轻量级幻灯片组件,它可以帮助前端开发者快速地构建美观且交互性强的轮播图或幻灯片组件。它提供了多种轮播模式、动画效果和自定义配置...

    3 年前
  • npm 包 webpack-plugin-strawberry 使用教程

    webpack-plugin-strawberry 是一个 webpack 插件,用于在打包过程中自动替换指定的字符串。它可以帮助我们在打包过程中自动替换一些常量或者变量,从而使我们的打包结果更加灵活...

    3 年前

相关推荐

    暂无文章