npm 包 redux-promise-action 使用教程

阅读时长 5 分钟读完

简介

redux-promise-action 是一个 npm 包,它为 Redux 中的异步操作提供了一种更加易用的方法。它使用 Promise 的方式来封装异步操作,并且提供了一种统一的 action 格式,方便 reducer 的处理。

使用 redux-promise-action 可以使得 Redux 更加简洁和易于维护。

安装

可以使用 npm 或者 yarn 来进行安装:

或者

使用方法

定义 action

使用 redux-promise-action 的第一步就是定义一个 promiseAction。

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

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

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

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

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

使用 promiseAction 创建了一个 promiseAction 函数,该函数接受两个参数:

  • type:字符串类型,在 reducer 中用来区分不同类型的 action。
  • promise:一个返回 Promise 实例的函数,该函数在 action 被 dispatch 之后会被执行。

处理 action

在 reducer 中处理 promise action:

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

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

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

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

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

在 reducer 中使用了 pendingReducerresolvedReducerrejectedReducer 这三个辅助函数来处理 action 的状态。

Dispatch action

在 action 中 dispatch promise action:

当执行 dispatch(addTodoPromiseAction("Learn React!")) 时,会返回一个 promise,可以使用 then 方法来处理 action 的状态。

总结

使用 redux-promise-action 可以提高 Redux 的开发效率,让异步操作更加简单易于维护,同时也可以使得代码更加清晰易读。

我们可以使用 Promise 的方式来封装异步操作,并且可以使用统一的 action 格式来处理异步操作的状态,在 reducer 中使用辅助函数来处理异步操作的状态,使得代码更加清晰易读。

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

纠错
反馈