npm 包 redux-loading-promise-middleware 使用教程

前言

redux-loading-promise-middleware 是一个用于 Redux 的中间件,它可以在应用程序中实现加载指示器。它的主要作用是在发起异步操作的同时显示一个 loading 效果,以提高用户体验。本文将深入讲解如何使用该 npm 包来为你的 Redux 应用程序添加加载指示器。

安装

在你的应用中安装 redux-loading-promise-middleware,可以使用如下的 npm 命令:

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

安装完成后,你需要把该中间件添加到你的 Redux Store 中:

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

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

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

使用

在你的应用程序中发起异步操作时,你需要在 action 中添加一些参数,以通知 middleware 去执行相应的操作。可以使用以下参数:

  • promise:一个返回 Promise 的函数,该函数将异步操作的结果作为 Promise 的返回值;
  • types:一个包含三个字符串的数组,用于异步操作的 start、success 和 failure 的 action type;
  • options:可选参数,用于定制 middleware 的行为。

以下是一个使用 redux-loading-promise-middleware 的示例代码:

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

以上代码中,我们定义了一个名为 fetchPosts 的 action,它包含了三个 types 分别是 FETCH_POSTS_REQUEST、FETCH_POSTS_SUCCESS 和 FETCH_POSTS_FAILURE。同时,我们将 fetchPosts 的 promise 设置为一个返回 Promise 的函数,该函数会发起异步请求获取文章数据。当异步操作开始时,这个 action 的类型为 FETCH_POSTS_REQUEST,我们可以根据这个 type 去显示 loading 效果。当异步操作结束时,我们可以根据结果来判断是否需要显示相应的错误信息。

定制

在实际使用过程中,你可能需要定制 middleware 的一些行为,redux-loading-promise-middleware 提供了以下可选参数:

  • disableThrowWhen:一个可选的函数,用于禁用 middleware 在一定条件下抛出异常。默认情况下,当遇到错误时,middleware 会抛出错误,你可以通过该函数禁用这个功能。示例代码如下:
----- ------- - -
  ----------------- ----- -- ---------- --- -------------- -- - ----- - ---- - ------------ --------
-
  • onSuccessonFailure:两个可选的函数,用于处理各自的 action。这些函数会在 action 执行成功或失败后被调用。
----- ------- - -
  ---------- ------- ----- ------- -- -
    ------------------- ----------------
    -------------
  --
  ---------- ------- ----- ------- -- -
    ------------------- ----------------
    -------------
  -
-
  • onStartonFinish:两个可选的函数,用于处理异步操作开始和结束时的 action。
----- ------- - -
  -------- ------- ----- ------- -- -
    ------------------- -------------
    -------------
  --
  --------- ------- ----- ------- -- -
    ------------------- -------------
    -------------
  -
-

结语

redux-loading-promise-middleware 是一个非常实用的 npm 包,它可以帮助我们在 Redux 应用中实现加载指示器。本文介绍了如何安装、使用和定制该 middleware。希望本文对你的学习和开发有所帮助。如果你有任何疑问或建议,请在评论区留言。

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


猜你喜欢

  • npm 包 redux-actors 使用教程

    1. 什么是 redux-actors redux-actors 是一个实现了异步操作和副作用的 redux 中间件,相比于 redux-thunk 或 redux-saga 等,redux-acto...

    4 年前
  • npm 包 redux-actuator 使用教程

    在前端开发中,管理应用程序的状态非常困难。Redux 是一种流行的状态管理库,它通过一种预测性的方式去修改应用程序的状态。但是,在大型应用程序中,Redux 的使用往往会导致大量模板代码的编写,这给维...

    4 年前
  • npm 包 redux-adobe-dtm 使用教程

    什么是 Redux? Redux 是一个 JavaScript 应用程序的可预测状态容器,常常与 React 一起使用。它类似于 Flux 架构,但具有更好的性能和开发体验。

    4 年前
  • npm 包 redux-alerts 使用教程

    前言 redux-alerts 是一个 React 状态管理库 redux 的拓展,它是专门为应对前端开发中常见的信息提示需求而开发的。redux-alerts 可以方便地在组件层级内管理多个消息提示...

    4 年前
  • npm 包 redux-amplitude 使用教程

    在现代 Web 开发中,前端应用程序变得越来越复杂,需要管理大量的状态,同时需要实时跟踪用户行为和数据。对于前端应用程序,管理状态通常变得困难,而且难以跟踪用户数据。

    4 年前
  • NPM 包 Redux-Pages 使用教程

    Redux-Pages 是一个优秀的 NPM 包,可以让你更轻松地开发可视化页面,提高代码的可维护性和可拓展性。它是建立在 Redux 框架基础上的,可以帮助你更好地管理 Redux 中的状态和逻辑。

    4 年前
  • npm 包 redux-pager-test 使用教程

    前言 在 Web 开发领域中,前端框架是不可或缺的工具之一。其中,Redux 是一种前端数据管理框架,用于管理 React 应用程序中的应用程序状态。而 redux-pager-test 是一个 Re...

    4 年前
  • npm 包 redux-partition 使用教程

    为了更好地管理和维护状态,许多前端项目使用了 Redux 状态管理库,而分割工具 redux-partition 可以将 Redux 中的 state 和 reducer 按照独立的组件拆分,从而更好...

    4 年前
  • npm 包 redux-pathspace 使用教程

    介绍 redux-pathspace 是一个处理 Redux 中多个 reducer 的实用工具,可以更为方便、安全地将多个 reducer 合并在一起,方便管理各个状态的状态树。

    4 年前
  • npm 包 redux-pagination 使用教程

    前言:redux-pagination 是一款用于 React 应用的分页管理库。它可以帮助你轻松管理分页逻辑,提高开发效率。在本文中,我们将介绍如何使用 redux-pagination。

    4 年前
  • npm 包 redux-paginator 使用教程

    在前端开发中,我们经常需要进行分页操作来展示大量数据。为此,我们可以使用 redux-paginator 这个 npm 包来方便地管理分页状态。 什么是 redux-paginator? redux-...

    4 年前
  • npm 包 redux-payload-promise 使用教程

    如果你是一位前端开发者,并经常使用 Redux 来处理应用程序的状态管理,那么你可能会对 Redux Middleware 的概念非常熟悉。在实际开发中,Middleware 可以帮助我们处理一些特殊...

    4 年前
  • npm包redux-peerjs-store-enhancer使用教程

    在前端开发中,使用Redux是一种常见的状态管理工具。但是,Redux本身并不能很好地处理实时的数据同步,这就需要借助peerjs实时通讯库来进行数据同步。而在这个过程中,我们可以使用npm包redu...

    4 年前
  • npm 包 redux-perf 使用教程

    在前端开发中,性能一直是一个关注点。如果你使用 Redux 来管理你的应用程序状态,那么你可能会需要一种方法来分析和调整 Redux 的性能。这时候,我们就可以使用一个叫做 redux-perf 的 ...

    4 年前
  • npm 包 redux-support-action-class 使用教程

    在前端开发中,状态管理是一个必须要考虑的问题。Redux 是一种常用的状态管理库,它能够帮助我们在应用程序中有效地管理状态并使代码更加可预测。然而,使用 Redux 也会带来一些麻烦,例如需要在代码中...

    4 年前
  • npm 包 redux-superapi 使用教程

    redux-superapi 是一个基于 Redux 和 axios 的轻量级库,用于在 React 应用程序中管理异步 API 调用。它提供了简单明了的 API,帮助您更轻松地管理和协调 API 调...

    4 年前
  • npm 包 redux-sugar-store 使用教程

    redux-sugar-store 是一个优秀的 Redux 状态管理工具,它提供了一系列强大的功能来简化 Redux 的使用。它支持异步 action,简化了 reducer 和 action 的定...

    4 年前
  • npm 包 redux-factories 使用教程

    在 React 应用中,Redux 是一种非常流行的状态管理工具,其提供了一种可预测的状态更新方式。而 redux-factories 是一个用于创建 Redux store 的 npm 包,其封装了...

    4 年前
  • NPM 包 redux-extras 的使用教程

    介绍 redux-extras 是一个支持 Redux 的扩展包,它可以增强 Redux 的功能,让我们可以更加高效的构建前端应用程序。redux-extras 包含了一些常用的功能,例如:Redux...

    4 年前
  • npm 包 redux-factory 使用教程

    简介 在前端项目中,状态管理是一个十分重要的问题。而 redux 是一个优秀的状态管理工具,可以帮助我们有效地管理我们的应用状态。但是在真实的项目中,我们可能会遇到大量的状态需要管理,这个时候 red...

    4 年前

相关推荐

    暂无文章