npm 包 @mmajewski/store-devtools 使用教程

介绍

@mmajewski/store-devtools 是一个开源的 npm 包,提供了一个通用的 store 开发调试工具。它适用于任何实现了 Redux store 接口约定的状态管理库,并能够跟踪应用程序状态的变化。

本文将详细介绍如何安装和使用这个 npm 包。

安装

你可以通过 NPM 安装 @mmajewski/store-devtools:

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

使用

使用 @mmajewski/store-devtools 调试应用程序状态,需要先在应用程序中引入它:

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

然后,在创建 store 的时候,将 createDevToolsMiddleware 作为第一个 Redux middleware 传递给 createStoreWithMiddleware 函数,如下所示:

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

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

这个调试工具将会自动添加一个 DevTools 组件到页面上,无需另外配置。你可以通过浏览器的控制台打开调试工具,查看应用程序状态的变化。

在调试工具面板上,你可以看到:

  • 状态的历史记录
  • 改变状态的 action
  • action 的详细信息

示例代码

本文提供一个示例代码,用于演示如何使用 @mmajewski/store-devtools 调试 Redux。

安装依赖

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

创建 store

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

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

创建 Reducer

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

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

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

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

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

创建 Action

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

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

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

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

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

创建组件

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

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

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

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

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

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

创建入口文件

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

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

总结

通过本文的介绍,你现在应该已经掌握了如何使用 @mmajewski/store-devtools 调试 Redux 应用程序状态的技能。这个 npm 包可以大大提高开发调试效率,是前端开发工程师不可或缺的工具之一。

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


猜你喜欢

  • npm 包 scrape-emails 使用教程

    在现代的互联网时代,电子邮件作为一种重要的通讯方式,已经成为了人们日常交流的一部分。而且,电子邮件的重要性不仅限于个人通讯,它也是商务和任何形式的在线推广活动的关键部分。

    3 年前
  • npm 包 countdown-beauty 使用教程

    简介 countdown-beauty 是一款基于 JavaScript 编写的 npm 包,提供了美观且易于使用的倒计时 UI 组件。该组件可以适应不同的时间格式,并且可以自定义样式、语言和功能。

    3 年前
  • npm 包 @node-lti/oauth 使用教程

    前言 在前端开发中,我们经常需要与第三方 API 进行交互,访问用户权限等信息。而 OAuth 是一种常用的第三方授权机制,它可以让用户授权第三方应用程序访问他们的资源,而无需提供他们的密码。

    3 年前
  • npm包 angular-colorpicker-dr 使用教程

    简介 angular-colorpicker-dr是一个基于Angular的颜色选择器组件,提供了各种颜色选择器的类型和大小,具有易于使用、灵活性强等特点。本文将介绍如何使用该组件。

    3 年前
  • npm 包 cogmeta-react-mic 使用教程

    在前端开发中,处理音频是一个非常重要的任务。使用 JavaScript 进行音频处理时,开源的 npm 包提供了方便的接口和实现方法。其中,cogmeta-react-mic 是一个适用于 React...

    3 年前
  • npm 包 metrics-sender 使用教程

    在前端开发过程中,我们会有时需要对我们的应用、网站进行性能、流量等多个指标的监控和统计,以便我们进行实时的优化和改进。而 npm 包 metrics-sender 就为我们提供了这样一个功能强大且易用...

    3 年前
  • npm 包 kebab 使用教程

    Kebap 是一个优秀的 npm 包,它可以将驼峰式命名的 JavaScript 对象键转换为烤肉串(kebab-case)命名格式,以及反向转换烤肉串命名格式到驼峰式命名格式。

    3 年前
  • npm 包 quickly-count-substrings 使用教程

    在前端编程中,字符串操作是开发中常见的操作之一。而对于字符串中子字符串的出现次数统计,则是程序员们经常会遇到的问题。为了解决这个问题,我们可以使用一个易于使用的 npm 包,它就是 quickly-c...

    3 年前
  • npm 包 elvjs 使用教程

    1. 什么是 elvjs? elvjs 是一款操作 JavaScript 对象的工具库,它的全称是 "Easy Level Up JavaScript" 。该库主要用于检查对象中的键,以及获取嵌套的对...

    3 年前
  • npm 包 material_calculator 使用教程

    在前端开发中,我们经常需要使用到计算器来帮助我们完成一些数学计算。material_calculator 是一个基于 Material Design 设计语言的 npm 包,它提供了一个漂亮简洁的计算...

    3 年前
  • npm 包 hexo-renderer-edgejs 使用教程

    简介 hexo-renderer-edgejs 是基于 Hexo 框架的一个渲染器,可以将 Edge.js 模板语言编译成 HTML 页面。Edge.js 是一个 Node.js 平台上的模板引擎,它...

    3 年前
  • npm 包 red-array 使用教程

    什么是 red-array? red-array 是一个 npm 包,它提供了一组操作数组的工具函数。通过使用 red-array,我们可以更加高效地操作和处理数组数据。

    3 年前
  • npm 包 vue-carousel-cm 使用教程

    前言 随着互联网技术的快速发展,前端技术也变得日新月异。Vue.js 是一个轻量级但功能强大的渐进式前端框架,与此同时,npm 上有许多方便开发的插件和工具包。本文介绍的 npm 包 vue-caro...

    3 年前
  • npm 包 barbershop 使用教程

    简介 在进行前端项目开发时,我们通常需要对一些 DOM 元素进行操作,比如改变元素的属性、移动元素的位置、隐藏或显示元素,这时候我们通常会使用类库或框架来实现这些功能。

    3 年前
  • npm 包 homebridge-timeout-switch 使用教程

    简介 homebridge-timeout-switch 是一个基于 Node.js 和 homebridge 的插件,可以让你通过 Siri、HomeKit 等方式控制家中的开关,并添加控制延迟时间...

    3 年前
  • npm 包 @bezet/tooltip 使用教程

    前言 日益增长的 Web 应用程序功能需要更多的组件和工具来辅助前端开发人员进行开发。其中,一个重要的工具是 Tooltip,它能够提供丰富的信息和帮助,同时也为用户提供更好的用户体验。

    3 年前
  • npm 包 rms-meteor-scroll-controller-consumer-decorator 使用教程

    前言 在前端开发中,滚动控制是一个非常常见的需求,它能够让页面更加流畅,操作更加友好。然而,滚动控制的实现并不是一件简单的事情,需要我们写很多复杂的逻辑代码。这时,我们可以借助第三方库来实现滚动控制,...

    3 年前
  • npm 包 rms-meteor-component-change-decorator 使用教程

    在开发前端应用时,组件化是一个非常重要的概念。而写好一个组件之后,也需要及时进行更新和维护,以确保组件能够顺利地适应应用的需求变化。为了方便组件的快速更新和维护,我们可以借助 npm 包 rms-me...

    3 年前
  • npm 包 rms-meteor-email 使用教程

    前言 对于 Web 开发,email 作为非常重要的渠道之一,在业务场景中有着非常重要的作用。然而,email 作为一种比较古老的技术,也有着一些非常让人头疼的问题。

    3 年前
  • npm 包 rms-babel-plugin-typecheck 使用教程

    在前端开发中,我们经常遇到需要对数据类型进行校验的情况。为了提高代码可读性和可维护性,我们通常需要在代码中添加数据类型校验的代码。 但是,手动添加数据类型校验的代码可能会造成代码的冗余和不可读性,而且...

    3 年前

相关推荐

    暂无文章