npm 包 redux-wrangler 使用教程

前言

Redux 是一种 JavaScript 状态容器,用于编写可预测化应用程序的完美工具。它驱动着许多交互且高度动态的 Web 应用程序。

然而,Redux 并不是一个完美的解决方案。在 API 方面,它有时会变得很冗长和枯燥。我们可以使用 Redux-wrangler,这是一个由节点组合而成的库,它通过连接动作和 reducers,提供了一个高效简单的方式来处理 Redux。

本文将详细介绍如何在您的项目中使用 redux-wrangler

安装过程

在项目文件夹中,运行以下命令来安装 Redux-wrangler:

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

或者你也可以使用 yarn

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

Redux-wrangler 的核心是一个名为 Wrangler 的对象。 Wrangler 允许我们创建新的动作,并使用映射操作将它们与 reducers 进行关联。

API

以下是 Wrangler 的主要方法:

Wrangler.createAction(actionName, payloadCreator)

参数

  • actionName(string): 创建新动作的名称。
  • payloadCreator(function): 这是一个可选的函数,允许您同时传递更多的数据到动作中。

例子

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

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

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

Wrangler.createReducer(initialState, handlers)

参数

  • initialState: state 的初始值。
  • handlers(object): reducers 的映射操作。

例子

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

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

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

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

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

Wrangler.createSlice(options)

参数

  • name(string): 纪录的名称,会作为 action type 的前缀和 reducer 的键值。
  • initialState: function(state): 纪录的初始状态。
  • reducers(object): 纪录的 reducers 对象。

例子

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

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

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

现在,您已经准备好在您的项目中开始使用Redux-wrangler 了。 让我们看看如何编写一些具体实例。

例子

创建动作和 reducer

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

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

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

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

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

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

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

通过调用 createAction 函数可以创建一个新的动作,包括给他一个名称和一个可选的 payloadCreator, 这允许您同时传递更多的数据到动作中。

使用 createReducer 函数,将初始化状态和 “handlers” 对象传递给它。这样,我们就可以通过使用 Wrangler 所定义的动作,实现一个新的 reducer 映射操作。

创建 slice

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

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

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

在这个例子中,我们使用 Wrangler.createSlice 函数,它需要包含 nameinitialStatereducers 三个属性。这个函数将在存储中创建一个名为 todos 的切片记录,然后返回一个包含 actionsreducer 的对象。

结论

Redux-wrangler 让您可以使用关于处理动作和 reducers 的最佳实践。总体而言,这个库大量减少了 Redux 的代码量。 如果你想节约时间,又想驾驭 Redux,请使用 Redux-wrangler。

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


猜你喜欢

  • npm 包 merkle-tree-payment-pool 使用教程

    前言 支付池是一种可用于快速处理众多小额支付的技术。它将众多小额支付聚合成一次大额支付,从而降低了支付系统的负担。在前端应用中,我们可以使用 merkle-tree-payment-pool 这个 n...

    3 年前
  • npm 包 method-sets 使用教程

    method-sets 是一个 npm 包,它提供了一些非常有用的方法,可以用于统一不同类型的对象和数据结构的操作。这些方法可以大大简化代码并使代码更易读。在本文中,我们将详细介绍如何使用 metho...

    3 年前
  • npm 包 apollo-link-redux 使用教程

    前言 在开发前端应用的过程中,经常需要管理应用的状态,这时候 Redux 就是一个很好的选择。而使用 GraphQL API 的应用也越来越多,这时候将 Redux 和 GraphQL 结合起来,可以...

    3 年前
  • npm 包 dialogflow-fulfillment-v2-middleware 使用教程

    当你需要在你的网站或应用程序中使用人工智能对话管理器de的时候,Dialogflow是一个好的选择。Dialogflow可以帮助你构建聊天机器人、语音助手等等。而使用 dialogflow-fulfi...

    3 年前
  • npm 包 mip-billboardjs 使用教程

    介绍 mip-billboardjs 是一个基于 Billboard.js 封装的 MIP 组件,是一款优秀的数据可视化图表库。Billboard.js 内置了十几种常见的图表类型,并提供了简便的数据...

    3 年前
  • npm 包 @sardonyxwt/config-provider 使用教程

    在前端开发中,我们经常需要在不同的环境中使用不同的配置文件,如开发环境、测试环境、生产环境等。而随着项目规模的扩大,管理配置文件也逐渐变得复杂。为了解决这个问题,我们可以使用 npm 包 @sardo...

    3 年前
  • npm 包 add-counter 使用教程

    在前端开发中,我们常常需要对页面元素进行计数,以便实现一些动态效果或统计功能。而在这个过程中,使用 npm 包 add-counter 可以让这一过程更加便捷和高效。

    3 年前
  • npm 包 eslint-config-hapjs 使用教程

    1. 什么是 eslint-config-hapjs eslint-config-hapjs 是针对 Hap 应用开发的 eslint 规则集,基于 eslint-config-airbnb 和 es...

    3 年前
  • npm 包 garlicore-payment-protocol 使用教程

    前端工程师常常需要处理支付流程。而 garlicore-payment-protocol 包则为支付流程提供了一种简单又可靠的解决方案,让前端工程师能够轻松地处理各种支付场景。

    3 年前
  • npm包:ngx-stop-propagation 使用教程

    ngx-stop-propagation是一个可用于Angular应用程序中阻止事件冒泡的npm包。在许多情况下,我们可能需要在嵌套的组件中防止点击或其他事件传播到更外层的祖先组件。

    3 年前
  • npm包groupcenter-modelos-base-frontend使用教程

    前言 在前端开发过程中,我们经常会用到各种不同的第三方工具和库。其中,npm包是我们最常用的一种。npm包可以帮助我们快速便捷地完成一些代码的编写和封装,同时也可以提高我们的开发效率。

    3 年前
  • npm 包 th-passport-linkedin-oauth2 使用教程

    简介 随着社交媒体的广泛应用,越来越多的网站和应用程序需要通过第三方验证来保护用户信息和数据。LinkedIn 作为全球最大的职业社交网络之一,因此也被广泛用于在网站和应用程序中进行验证。

    3 年前
  • npm 包 unjsq 使用教程

    介绍 unjsq 是一个轻量级的 JavaScript 工具库,其提供了许多常见的以及实用的函数,同时支持链式调用和函数式编程。 使用 unjsq,可以提高前端代码的可读性、可维护性以及性能,减少代码...

    3 年前
  • npm 包 webpack-setup 使用教程

    在前端开发中,webpack 是一个使用广泛的模块化打包工具,用于将多个模块打包成单个文件,可以有效地减小文件的体积,提高网站的性能。但是,对于刚刚接触 webpack 的初学者来说,配置 webpa...

    3 年前
  • npm 包 cordova-plugin-install-campaigns 使用教程

    在移动应用的推广过程中,对于特殊需求和场景,我们可能需要在应用安装时进行一些操作或记录,例如向服务器发送安装信息或直接打开应用。cordova-plugin-install-campaigns 就是一...

    3 年前
  • NPM包Express-Mongoose-Login使用教程

    介绍 Express-Mongoose-Login是一款Node.js的第三方包,它用于实现基于Express和Mongoose的用户身份验证。如果你正在构建一个需要用户身份验证的应用程序,那么Exp...

    3 年前
  • npm 包 qr-image-bin 使用教程

    QR 码是现代生活中不可或缺的一部分,相信很多前端开发者都曾经遇到过需要生成 QR 码的情况。在 npm 包中,有一个很不错的 QR 码生成模块 qr-image-bin,它使用 C++ 编写,生成的...

    3 年前
  • NPM包 iframe-react使用教程

    简介 在我们进行前端开发的过程中,经常会遇到需要嵌入第三方网站或第三方组件的情况。此时,我们可以使用iframe来实现这个需求。但是,iframe很容易出现一些问题,比如无法跨域、样式污染和性能问题等...

    3 年前
  • npm 包 picasa-extended 使用教程

    介绍 picasa-extended 是一个基于 picasa 库的 npm 包,针对 picasa 库功能作了扩展,使得其能够更好的应对复杂的图片操作需求。本文将详细介绍 picasa-extend...

    3 年前
  • 使用npm包'qrystr-parse-170615'解析URL查询字符串教程

    作为一个前端工程师,您可能会遇到需要解析URL查询字符串的情况。这时,qrystr-parse-170615这个npm包就可以派上用场了。qrystr-parse-170615是一个用于解析URL查询...

    3 年前

相关推荐

    暂无文章