npm 包 redux-devtools-log-monitor-console 使用教程

阅读时长 7 分钟读完

前言

Redux 是一个极好的状态管理工具,但是在使用过程中,我们难免会遇到一些问题,比如说:为什么这个状态变量一直为 null?或者是一个 action 无法触发 reducer?

在这种情况下,Redux DevTools 可以给我们提供很好的帮助。它能够让我们更好地理解应用状态的变化,找到并解决在 Redux 中的问题。本文将主要介绍一个叫做 redux-devtools-log-monitor-console 的 npm 包,通过它我们可以查看应用状态的变化,从而更好地排除问题。

安装

首先我们需要在项目中安装 redux-devtools-log-monitor-console 包,可以通过如下命令进行安装:

这里我们将其安装到开发环境中,因为它只是在开发阶段帮助我们调试,而不需要被打包到最终的生产环境中。

安装完成之后,我们需要将其添加到我们的 Redux DevTools 中。在这之前,我们需要确认项目中是否已经添加了 Redux DevTools 工具。如果没有添加,请参照以下代码:

这里我们所需要关注的是 composeWithDevTools(),这个函数将我们的 DevTools 工具整合到我们的 Redux Store 中。我们需要对它进行一点小小的调整:

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

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

在这里,我们将 LogMonitor 组件传递给了 composeWithDevTools 函数,它将显示在开发者工具的 Monitor 列表中。

使用

Redux DevTools 提供了很多的帮助方法,可以让我们更好地理解应用状态的变化。其中,redux-devtools-log-monitor-console 主要提供了下面这些帮助方法:

  1. pauseConsoleLog():暂停控制台记录状态信息。
  2. resumeConsoleLog():恢复控制台记录状态信息。
  3. setActionFilter(filter: function):设置 Action 过滤器。
  4. setStateFilter(filter: function):设置 State 过滤器。
  5. setLogLevel(logLevel: string):设置日志级别。
  6. clearConsole():清除控制台中的状态信息。
  7. togglePersist():打开/关闭持久化。
  8. exportState():将当前的状态信息导出为一个 JSON 对象。
  9. importState(json: object):将一个 JSON 对象导入为状态信息。

这些方法可以在开发者工具的控制台中使用。例如,在控制台中,我们可以执行如下命令:

这会将控制台日志的记录暂停下来,这对于研究特定状态变化非常有帮助。

示例

下面是一个示例代码,它可以让你更好地理解如何使用 redux-devtools-log-monitor-console

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

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

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

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

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

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

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

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

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

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

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

结论

通过使用 redux-devtools-log-monitor-console,我们可以更好地理解应用状态的变化。我们可以查看应用的状态,找出错误,并更快地排除问题。因此,我强烈建议你在开发 Redux 应用时使用它。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067008e361a36e0bce8b7b

纠错
反馈