npm 包 reduck 使用教程

什么是 reduck?

reduck 是一个基于 redux 的状态管理框架,它为了简化 redux 在大型应用中的使用而设计。它提供了一些便于编写和测试的功能和工具,主要包括:

  • 异步 action 处理
  • action 创建和 reducer 管理的模块化组织方式
  • 简单但强大的 state 升级器

reduck 的安装和使用

要使用 reduck,首先需要安装它。使用下面的命令:

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

或者使用 yarn:

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

安装之后,你可以在你的项目中按以下方式使用它。

模块设置

reduck 模块由三个部分组成:action、reducer 和 selector。

Action

Action 是指导 reducer 升级数据的指令。它们描述了一个事件在应用程序中的发生,例如用户单击按钮,数据从服务器加载等。Action 是一个简单的 JavaScript 对象,包含一个 type 属性和一个可选的 payload 属性。

通常,在这些 action 中都包括服务器请求,使应用程序在结果准备好之前都有一个加载状态。

在 reduck 中,action 是一个常规 JavaScript 模块。如下是一个简单的例子:

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

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

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

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

在上面这个例子中,我们定义了一个 increment 操作,它会自动增加计数器。我们还定义了一个 incrementAsync 操作,它会在 1 秒钟之后异步调用 increment 操作。

Reducer

Reducer 是一个纯函数,用于根据当前状态和 action 来更新状态。它评估 action 的 type 属性来确定 action 的目的,并从一个旧的 state 对象生成一个全新的 state 对象。

在 reduck 中,reducer 是一个常规 JavaScript 模块。如下是一个简单的例子:

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

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

在上面这个例子中,我们定义了一个计数器 reducer,每次在接收到 action 时都会将 state 加上 1。

Selector

Selector 是一个可选项,用于生成一个从 state 中计算派生的值。它们有效地将业务逻辑代码从 state 中解耦,并允许在不依赖于状态树结构的情况下进行更简单的测试。

在 reduck 中,selector 是一个常规 JavaScript 模块。假设我们在上面的 reducer 中添加了一些新的字段,则可以按如下方式定义一个计算函数:

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

组合状态和处理器

现在,我们已经定义了 reducer、action 和 selector,我们需要将它们组合起来并输出为一个 reduck 模块。

在 reduck 中,我们可以定义一个 configureModule 函数来组成 reducer 和 selector。例如,在上面的例子中,可以按如下方式定义:

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

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

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

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

在这个示例中,我们将 counterReducer 作为 reducer 参数来创建一个配置模块。我们还将 getCounter 添加到 selectors 对象并添加到配置模块中。我们还将 export 的 action 添加到 actions 中。

使用 reduck

现在,我们已经设置了 reduck,可以按以下方式在应用程序中使用它:

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

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

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

在上述示例中,我们可以将配置模块作为 store.addReducers 的 reducer 参数添加到应用程序中。

此外,我们可以使用 counterModule.actions 对象来调用我们之前定义的 actions。

总结

reduck 为 redux 应用程序的状态管理提供了一个简便且灵活的方法。除了提供基本的 reducer 和 action 创建之外,它还提供了可测试的 state 升级器和简单但强大的组件。

由于它易于使用且高度灵活,我们推荐在开发 redux 应用程序时使用它。

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


猜你喜欢

  • npm 包 spm-position 使用教程

    介绍 在前端开发中,经常会遇到要使用一些定位相关的功能,比如获得元素相对于某个父级元素的位置、元素的绝对位置等等。而 npm 包 spm-position 可以帮助我们实现这些功能。

    4 年前
  • npm 包 spm-regression 使用教程

    在前端开发中,数据分析和预测是非常重要的一环。使用回归分析可以帮助我们预测未来的趋势和变化,以提高业务决策的准确性。这时候一个好用的npm包 “spm-regression” 就派上用场了。

    4 年前
  • npm 包 spm-xgettext 使用教程

    前言 在前端开发过程中,我们通常需要处理多语言的问题。其中一种解决方案是使用 gettext。 gettext 是一个标准的国际化和本地化解决方案,最初用于 Unix 系统的本地化,现在已经普及到了 ...

    4 年前
  • npm 包 spectacle-theme-solarized-light 使用教程

    什么是 npm 包 npm 包是指在 Node.js 中通过 npm(Node Package Manager)下载的模块包,用于管理和共享 Node.js 模块。

    4 年前
  • npm 包 spm-server 使用教程

    在前端开发中,我们经常需要开启本地服务器来预览我们的网页项目,常见的有webpack-dev-server和gulp-connect等。而spm-server是一个强大的本地服务器,它支持合并和压缩静...

    4 年前
  • npm 包sprectacle-theme-solarized-dark使用教程

    什么是 Spectacle Spectacle 是一个 React 构建幻灯片展示的库,并提供了丰富的组件和 API 来帮助你构建你的幻灯片。而且,它非常适合向同事、老板或者客户展示你的工作。

    4 年前
  • npm 包 spectcl 使用教程

    前言 在前端开发中,我们需要使用大量的第三方库和组件,其中就包括 npm 包。而 spectcl 就是一个在测试 React 组件中非常好用的 npm 包,它可以模拟用户的点击、输入等行为。

    4 年前
  • npm包spectangular使用教程

    本篇文章将会介绍npm包spectangular的使用教程,主要包含以下内容: spectangular是什么 如何安装与配置 如何使用spectangular 示例代码介绍 一、spectang...

    4 年前
  • npm 包使用教程:spectator

    在前端开发领域,我们有很多便捷的 npm 包,这些包可以有效地提高我们的开发效率。本文将为大家介绍一个非常有用的 npm 包:spectator。 什么是 spectator? spectator 是...

    4 年前
  • npm 包 specter-css 使用教程

    前言 在前端开发中,样式对于网页的呈现和用户体验非常重要。而从头开始编写样式,需要大量的时间和精力,因此,寻找适合自己项目的样式库是必不可少的。本文将介绍一个名为 specter-css 的 npm ...

    4 年前
  • npm 包 spectool-fetch-spec 使用教程

    前言 在前端开发中,我们经常会涉及到与后端接口的数据交互。而接口文档通常是由后端人员编写,前端人员需要按照接口文档进行开发。在这个过程中,我们通常会需要用到一个工具来获取接口文档,并且可以在本地进行浏...

    4 年前
  • npm 包 spectools-fixtures 使用教程

    spectools-fixtures 是一款前端开发中非常实用的 npm 包,它提供了一系列方便的工具函数,以帮助我们在测试阶段更加高效、简洁地编写测试代码。本文将详细介绍 spectools-fix...

    4 年前
  • npm 包 spectral-charms 使用教程

    前言 在前端开发中,我们经常需要处理字符串,对于字符串中的数字、字母、特殊字符等等,我们需要对它们进行一些特定的处理。这时候,我们可以使用 npm 包 spectral-charms。

    4 年前
  • Spectral Charmer npm 包使用教程

    前言 在前端开发中,我们常常需要处理字符串的各种问题,比如格式化、验证、截取等等。这时候,npm 包可以成为我们的利器,让我们在快速开发中高效完成任务。今天,我们要介绍的是一款 npm 包,它就是 S...

    4 年前
  • npm 包 spectral-workbench 使用教程

    前言 在前端开发中,有时候需要处理图形数据,比如处理光谱数据。而 spectral-workbench 就是一个解决这个问题的 npm 包。本文将介绍 spectral-workbench 的使用教程...

    4 年前
  • NPM 包 Spectral 使用教程

    在前端开发中,我们经常需要使用 API 或者编写 API。但是,编写 API 需要遵循很多的规范,如参数个数、参数类型、API 返回值等等。如何保障 API 符合规范呢?今天我们来介绍一种 NPM 包...

    4 年前
  • npm 包 spectraph 使用教程

    在前端开发中,样式处理是一项重要的工作。而 spectraph 是一个非常棒的 npm 包,它可以帮助我们快速生成高质量的色彩方案。在本篇文章中,我们将会详细地介绍 spectraph 的使用方法,并...

    4 年前
  • NPM 包 Spritesify-loader 使用教程

    在前端开发中,图片雪碧图是一种常见的优化技术。它能够将多张小图片合成为一张大图片,从而减少 HTTP 请求次数,提高页面加载速度。本文将介绍一种使用 npm 包 spritesify-loader 进...

    4 年前
  • npm 包 spritesmith-dir-checker 使用教程

    前言 在前端开发中,我们经常需要对图片进行处理以提高页面的加载速度和交互质量,其中,CSS sprites 技术是一种非常常见的图片处理技术。在使用 CSS sprites 技术时,我们需要将多个小图...

    4 年前
  • npm 包 spritesmith-scss-retina-template 使用教程

    前言 在前端的开发过程中,常常有需要将多个小图标合成成一张图的需求,以减少 HTTP 请求次数,从而提高页面性能。而 spritesmith-scss-retina-template 是一款基于 no...

    4 年前

相关推荐

    暂无文章