npm 包 redux-simple-promise 使用教程

阅读时长 5 分钟读完

简介

redux-simple-promise 是一个用于在 Redux 中简化对异步操作进行处理的库。它基于 Redux 提供的 middleware 来添加异步处理能力,同时使用了 Promises 来处理异步操作。redux-simple-promise 的使用可以让我们在 Redux 中更加方便地管理异步流程,让代码更加简洁易懂。

安装

我们可以通过 npm 以及 yarn 来安装 redux-simple-promise。

使用 npm:

使用 yarn:

使用

redux-simple-promise 的使用非常简单,只需要使用 applyMiddleware 函数将其作为 middleware 加入到 Redux 中即可。

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

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

在 Redux 中使用 redux-simple-promise 主要有两个步骤:

创建 action

我们可以使用 redux-actions 库中的 createAction 函数来创建 action。我们可以将 action 分为三种情况:

  • 请求开始:为了能够在 UI 界面中显示出请求的加载状态,我们需要在请求开始时发送一个 action 来改变状态。一般有 isLoading 属性。
  • 请求成功:当异步请求成功时,我们需要根据结果来发送一个成功的 action 来更新 UI 界面,一般返回一个 data 属性。
  • 请求失败:当异步请求失败时,我们需要根据错误信息来发送一个失败的 action 来显示错误提示,一般返回一个 error 属性。

发送 action

我们可以在 dispatch 中发送一个带有 Promise 属性的 action(如下所示),redux-simple-promise 会自动处理 Promise 的状态,并在成功或失败时触发相应的 action。

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

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

示例

下面是一个完整的示例代码,我们利用 redux-simple-promise 实现了异步请求 todo list 的功能:

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

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

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

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

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

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

结语

redux-simple-promise 提供了一种简单高效的解决方案来处理 Redux 应用中的异步流程。当我们需要在 Redux 中处理异步操作时,可以尝试一下使用 redux-simple-promise。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067008e361a36e0bce8b6c

纠错
反馈