NPM 包 Sagas 使用教程

阅读时长 6 分钟读完

NPM 包 Sagas 是一种用于处理复杂异步流程的库。它是 Redux 的一个插件,可以帮助 Redux 处理副作用。本文将详细介绍 Sagas 的使用教程,包括安装、配置和示例代码等内容。

安装

要使用 Sagas,首先需要安装 Redux 和 Redux Saga。可以通过 NPM 包管理器来安装。

配置

创建 Sagas

创建 Sagas 是用来处理副作用的函数。要创建 Sagas,需要使用 Redux Saga 提供的 effect 函数。

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

--------- ------------ -
  ----- ------------------------ --------- -------- -
    --- -
      ----- ----- - ----- -------------------- ----------------
      ----- ---------- ---------------------- --------
    - ----- --- -
      ----- ---------- ---------------------- -------- ------------
    -
  ---
-
  • takeEvery 用于“监听”指定的 Redux action。当 Redux 发出 FETCH_POSTS 时,fetchPosts 函数会被调用。
  • call 用于调用函数,这里调用了 Api.fetchPosts 函数。
  • put 用于发出一个新的 Redux action。

运行 Sagas

要运行 Sagas,需要在应用程序的入口文件中引入 Sagas 并创建一个 sagaMiddleware。

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

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

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

-------------------------------
  • createSagaMiddleware 函数创建了一个 sagaMiddleware。
  • applyMiddleware 函数将创建的 sagaMiddleware 应用到 Redux store 中。
  • fetchPosts 是在前面创建的 Sagas。

示例代码

下面的示例代码演示了如何使用 Sagas 处理异步流程。

actionTypes.js

actions.js

reducers.js

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

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

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

sagas.js

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

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

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

index.js

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

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

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

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

以上就是关于 Sagas 的使用教程,希望这篇文章对你有帮助。

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

纠错
反馈