npm 包 redux-hook-middleware 使用教程

前言

redux 是 React 生态圈中的一种管理全局 state 的方案,但是使用 redux 需要编写大量的冗余代码。为了解决这个问题,社区也开发了许多辅助工具和插件,redux-hook-middleware 就是其中之一。本文将详细介绍如何使用 redux-hook-middleware,以帮助你更好的管理你的全局 state。

redux-hook-middleware 简介

redux-hook-middleware 是一个 redux 的 middleware,通过 hook 机制提供了一种更为简便的方式来书写 redux action,它可以直接在函数组件中的 setState 中使用。这就不用再像传统的 redux action 那样,定义一堆 actionCreator、派发 action 和写 reducer 了。

安装

redux-hook-middleware 通过 npm 管理,可以使用以下命令进行安装:

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

使用

1. 初始化

安装成功后,在 redux createStore 函数中引入该 middleware:

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

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

2. 定义 action

使用 redux-hook-middleware 定义 action 的方式与传统的 redux action 非常相似,只需要在函数组件中使用 hook 即可:

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

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

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

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

这里我们定义了两个 action:increment 和 decrement,它们分别会将 count 加上或减去传入的参数。

3. 运行程序

现在我们就可以运行程序并查看效果了。在 Counter 组件中,我们通过按钮来触发 increment 和 decrement 而不用关心 redux 的其他事情,这样就实现了我们的目标。

示例代码

以下是一个完整的示例代码:

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

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

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

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

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

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

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

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

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

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

总结

通过使用 redux-hook-middleware,我们可以以一种更简洁的方式编写 redux action,让我们可以更专注于业务代码的编写。当然,在实际项目中使用该库之前,你需要先学习一些基本的 redux 知识,以便更好地理解和使用该库。

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


猜你喜欢

  • npm 包 quick-badge-generator 使用教程

    介绍 quick-badge-generator 是一个可以生成卡片徽章的 npm 包。通过该包,我们可以快速生成符合设计规范的卡片徽章,方便用于各种前端项目。该包使用简单,具有广泛的适用范围和指导意...

    2 年前
  • npm 包 react-native-mixpush 使用教程

    前言 在现代移动应用开发中,消息推送已经成为了不可或缺的一部分。而 react-native-mixpush 包提供了一种简单而强大的方式来在 React Native 项目中集成消息推送服务。

    2 年前
  • npm 包 zmz 使用教程

    简介 zmz 是一款前端开发常用的 npm 包,它提供了丰富的工具和函数库,能够简化前端开发过程中的一些繁琐操作。本文将对 zmz 的使用进行详细介绍,包括安装、使用示例以及常用的函数及其使用方法。

    2 年前
  • npm 包 esoo-tooltip 使用教程

    简介 esso-tooltip 是一个基于 npm 的前端开发工具,在开发中为您提供了一种简单易用的工具包,帮助您快速制作出适用于各种应用场景的 tooltip。 安装 --- ------- ---...

    2 年前
  • npm包nowa-gui-plugin使用教程

    前言 前端开发者都清楚,在开发中,我们需要使用各种工具和库。这时,npm 自然也就成为不可或缺的一部分,许多工具被打包成 npm 包,我们可以直接使用。 在本篇文章中,我将会为大家介绍一个 npm 包...

    2 年前
  • npm 包 num-digits 使用教程

    在日常前端开发中,数字相关的操作是非常常见的场景。除了基本的加减乘除外,有时候需要对数字进行格式化,比如保留几位小数等。npm 包 num-digits 就是为了方便处理数字格式化而生的。

    2 年前
  • npm 包 react-pell2 使用教程

    简介 react-pell2 是一个基于 Pell 的富文本编辑器组件,适用于 React 应用。它使用了 React Hooks 来提供更好的性能和开发体验。 在本文中,我们将会介绍如何使用 rea...

    2 年前
  • npm 包 danger-plugin-no-test-shortcuts 使用教程

    在前端开发中,测试是一个非常重要的环节,但是有时为了快速完成测试,开发者可能会使用缩略语或简写代码,这可能会导致测试的失效或不充分。为了解决这个问题,我们可以使用 npm 包 danger-plugi...

    2 年前
  • npm 包 scroll-parent 使用教程

    在开发前端应用时,我们经常会遇到需要获取某个元素的父级元素以实现一些功能,比如滚动监听等。然而,由于不同的布局可能会使父级元素不止一个,因此需要用到一些工具来帮助我们精确获取目标元素的父级元素。

    2 年前
  • npm 包 censorify_ralph_haides 使用教程

    简介 npm 是 Node.js 的包管理工具,它可以方便地安装、管理和分享代码库。censorify_ralph_haides 是一个基于 Node.js 的 npm 包,它可以过滤掉给定文本中的敏...

    2 年前
  • npm 包 gitbook-plugin-report-node-version 使用教程

    介绍 npm 是 Node.js 的包管理工具,而 gitbook-plugin-report-node-version 是一款 npm 包,是一个可以用来输出当前所使用 Node.js 版本信息的 ...

    2 年前
  • npm 包 handlebars-cloudinary 使用教程

    前言 作为前端开发人员,我们经常遇到需要在网站中使用图片的场景。为了更好地处理图片的上传、存储、尺寸适应等问题,我们需要借助一些图片处理 API 或工具,而 Cloudinary 是其中一种非常不错的...

    2 年前
  • npm 包 handlebars-imgix 使用教程

    前言 随着互联网的普及,网站的图片越来越重要,因此我们也需要更好的方式处理图片,让网站页面更快,效果更好。在前端工程中,我们经常需要使用模板引擎来渲染页面,这时候就需要用到 handlebars-im...

    2 年前
  • npm 包 marked-cloudinary 使用教程

    介绍 marked-cloudinary 是一个 npm 包,它结合了 marked 和 Cloudinary,可以帮助前端开发人员更方便地在网页中使用和展示 Markdown 格式的文本,并自动将其...

    2 年前
  • npm包 http-lucass 使用教程

    介绍 在前后端分离开发的现代web开发中,在前端海量数据的请求中,有些工具需要对web请求进行拦截和修改,而这时候http-lucass包就派上用场了。http-lucass是一个基于Node.js的...

    2 年前
  • npm 包 metalsmith-all-the-things 使用教程

    简介 metalsmith-all-the-things 是一个为 metalsmith 提供插件依赖管理的 npm 包。通过 metalsmith-all-the-things,您可以轻松管理 me...

    2 年前
  • npm 包 tarkjs 使用教程

    介绍 tarkjs 是一个在以太坊上开发和测试 JavaScript 智能合约的工具包,提供了很多有用的函数和工具,方便我们编写和测试智能合约。 安装 我们可以通过 npm 安装 tarkjs 包: ...

    2 年前
  • npm 包 parsedate 使用教程

    对于前端开发者来说,经常会用到日期处理这个功能。然而,在 JavaScript 中处理日期并不是那么简单。为了解决这个问题,我们可以使用 npm 包 parsedate,它可以帮助我们更方便地处理时间...

    2 年前
  • npm 包 cordova-plugin-ahelper 使用教程

    前言 为了方便 web 开发者能够更好地利用 native 的能力,Cordova 提供了一种将 web 项目转换成跨平台应用的方案。在 Cordova 应用中,native 与 web 部分通过插件...

    2 年前
  • npm 包 lqual 使用教程

    lqual 是一个前端开发中非常有用的 npm 包,它可以用于将多种语言的文本进行比较和匹配。在本文中,我们将为大家介绍 lqual 的使用方法和技巧,帮助大家更好地掌握这个强大的工具。

    2 年前

相关推荐

    暂无文章