npm 包 redux-thunk-effects 使用教程

本文将介绍 npm 包 redux-thunk-effects 的使用方法。这个包可以在 Redux 应用中帮助处理异步操作,使代码更易维护和扩展。

安装

在项目目录中使用以下命令安装 redux-thunk-effects:

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

配置

创建 store

在创建 store 的时候需要添加 redux-thunk 的 middleware,这个 middleware 将会处理所有基于 redux-thunk-effects 的 action,它的配置如下:

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

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

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

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

创建 action

在 action 中,我们需要使用 createEffect 方法来创建一个 effect。createEffect 函数接收一个函数作为参数,这个函数会返回一个 Promise,用于描述异步操作。

在 effect 中,我们通常需要通过 API 调用数据。

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

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

在这个例子中,fetchUser action 调用了 createEffect 函数来创建一个 effect,该 effect 进行了一个异步的 API 调用,将 Promise 对象作为返回值。

创建 reducer

在 reducer 中,我们需要为所创建的 action 添加相应的处理逻辑。我们需要在 reducer 中添加相应的 case,来处理 effect 的返回值。

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

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

在这个例子中,我们为 FETCH_USER_SUCCESS 这个 action 设置了相应的处理逻辑。

触发 action

我们可以在组件中通过 dispatch 函数来触发我们所创建的 action,并在触发后获取 effect 的返回值。

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

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

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

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

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

在这个例子中,我们使用 dispatch 来触发 FETCH_USER_SUCCESS 这个 action,并使用 mapStateToProps 函数将 effect 的返回值绑定到组件中。

总结

通过使用 redux-thunk-effects,我们可以更加方便地处理纯异步的 action,并将其和同步的 action 结合在一起。同时,在处理异步操作的时候,我们还可以通过 Promise 来更灵活地处理 effect 的返回值。

这些方法不仅可以使我们的代码更加简洁和易于维护,同时还提供了一个良好的结构,使得我们可以轻松地扩展和调整我们的应用。

示例代码

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


猜你喜欢

  • npm 包 sqlm 使用教程

    介绍 sqlm 是一个针对前端的 SQL 查询库,它使用 Promise 风格调用 API,可以进行命令式 SQL 查询构建,同时支持参数化查询和无需要预编译的查询。

    4 年前
  • npm 包 sqlnosql 使用教程

    SQL NoSQL 是一款简单易用的 npm 包,它可以用于在任何 JavaScript 应用程序中快速查询、插入、更新、删除 SQL 和 NoSQL 数据库。 在本文中,我们将详细介绍如何使用 SQ...

    4 年前
  • npm 包 sqlobj 使用教程

    前言 在 Web 前端开发中,我们经常需要与后端数据库进行交互。针对这一需求,现有的数据库管理系统不够方便,因此出现了一些第三方封装库来方便前端工程师进行数据库交互。

    4 年前
  • npm 包 sqljs 使用教程

    什么是 sql.js? sql.js 是一个 JavaScript 实现的 SQLite 数据库。它可以让我们在浏览器环境下使用 SQLite 而无需安装任何软件或插件,同时也可以在 Node.js ...

    4 年前
  • npm 包 ts-eventsourcing 使用教程

    在前端开发中,事件溯源是一种流行的设计模式,它可以记录应用程序的状态变化,并将这些变化保存在事件日志中。这种设计模式有助于开发人员更好地理解应用程序的状态及其历史记录。

    4 年前
  • npm 包 springuper-winston-daily-rotate-file 使用教程

    介绍 在前端开发中,日志系统是必不可少的一部分。而 Winston 是一款 Node.js 的日志系统,它具有支持多种传输方式、支持自定义传输器等可拓展性等优点。但它默认的传输方式只能把日志输出到控制...

    4 年前
  • npm 包 sqlorm 使用教程

    在前端开发中,经常会用到数据库相关的操作。针对这一需求,有一个 npm 包 sqlorm,可以帮助我们更方便地进行数据库的操作。 本文将详细的介绍 sqlorm 的使用方法,包括安装、配置、常用 AP...

    4 年前
  • npm 包 sqlschemify 使用教程

    在前端开发中,我们经常需要对数据库进行操作,而 sqlschemify 是一个非常棒的 npm 包,提供了将 SQL 语句转换成 JSON SCHEMA 的功能,方便我们在代码中快速生成和操作数据库。

    4 年前
  • npm 包 sprinter 使用教程

    什么是 sprinter? Sprinter 是一款能够帮助前端开发者快速进行静态网页开发的工具,它集成了一系列自动化构建工具,如 gulp 和 webpack,能够帮助我们自动合并、缩小、优化和压缩...

    4 年前
  • npm 包 sprinkles 使用教程

    在现代的前端开发中,常常需要用到一些常见的样式,例如“垂直居中”、“隐藏”、“阴影”等等。这些样式往往需要我们手动添加到 CSS 中,使得代码变得冗长且难以维护。为了解决这个问题,开发者们开发了许多类...

    4 年前
  • npm 包 sra 使用教程

    什么是 SRA? SRA 全称 Server-side Rendering with Async Data,中文名为服务器端异步渲染,是一种前端开发技术,它结合了服务端渲染( SSR)和异步数据加载(...

    4 年前
  • npm 包 sra-api 使用教程

    前言 sra-api 是一个基于 Web3.js 的 Solana 区块链 API 工具包,可以用于开发基于 Solana 区块链的 DApp 应用程序。在本篇文章中,我们将详细介绍 sra-api ...

    4 年前
  • npm 包 ssh2-socksv5-proxy 使用教程

    在前端开发中,很多情况下需要在代码中使用 ssh2-socksv5-proxy 这个 npm 包实现代理。本文将详细介绍该包的使用方法,包括相关概念、安装方法、使用说明和示例代码。

    4 年前
  • npm 包 sra-polyglot 使用教程

    sra-polyglot 是一个前端国际化的 npm 包,它提供了一种方便易用的方式来管理语言翻译,以及在应用程序中根据用户的语言首选项动态切换文本。在本文中,我们将介绍如何在应用程序中使用 sra-...

    4 年前
  • NPM 包 SQLSidecar 使用教程

    前言 在开发前端应用程序时,使用 SQL 数据库可以提供可靠和高效的数据存储和检索。SQLSidecar 是一个npm包,可以帮助开发人员快速连接 SQL 数据库并执行各种 SQL 查询。

    4 年前
  • npm 包 sprinter-cli 使用教程

    前端开发工作中,很多时候需要进行一些重复性操作,如文件压缩、图片处理、代码打包等等。而 sprinter-cli 则是一个开源的 npm 包,它提供了一种轻量级的代码生成方案,可以帮助我们快速完成这...

    4 年前
  • npm 包 ssh2-streams-extra-ciphers 使用教程

    前言 在前端开发中,数据传输是一个必不可少的部分。而 ssh2-streams-extra-ciphers 可以提供一些非常安全的数据传输方式。本教程将详细介绍如何使用 ssh2-streams-ex...

    4 年前
  • npm 包 sqlspaces 使用教程

    前言 在前端开发中,数据库是不可或缺的一部分。为了便于管理和操作数据库,我们通常使用 SQL 语言进行增删改查。而 npm 包 sqlspaces 则提供了一个可以利用 JavaScript 进行 S...

    4 年前
  • npm 包 sqlstring-sqlite 使用教程

    简介 在前端开发中,操作数据库是非常普遍的需求,而 sqlstring-sqlite 就是一个可以帮助我们在 Node.js 中操作 SQLite 数据库的 npm 包。

    4 年前
  • npm 包 ssh2shell-extra-ciphers 使用教程

    前言 在前端开发过程中,常常需要远程操作服务器,例如部署代码或者远程调试等。而我们常用的协议,例如 SSH 协议,在新版本中可能会增加一些安全机制,导致旧的实现方式不能够被支持,从而无法进行连接。

    4 年前

相关推荐

    暂无文章