@basemachina/react-inspector

中文文档
8.1.1发布于 2025/10/03MITTypeScriptESM + CJS零依赖近 30 天下载 5151

浏览器 DevTools 检查器在您的 React app 内的力量

中文使用文档
文档目录12 节
  1. 变动
  2. 安装
  3. 开始
  4. < 检查者 />
  5. < 目标检查者 / >
  6. <表检查者 / >
  7. <DOM 检查器 />
  8. 更多实例
  9. 主题
  10. 路线图
  11. 捐款
  12. 额外

反应检查器

此寄存器为 故事书js/反应-督察。 。 。 .

变动

主要变化如下:

  • 支助 replacer 用于替换对象属性的道具, 如 replacer 参数 JSON.stringify

权力 浏览器 DevTools 巡视员就在你的反应程序里 看看这个 互动操场 或者说 故事书。 。 。 .

''

''

''

安装

国家预防机制:

npm install @basemachina/react-inspector

建议的版本:

  • 版本 3.0.2:如果您正在使用回放16.8.4或稍后.
  • 版本 2.3.1:如果您正在使用更早的React版本.

开始

< 检查者 />

给视察员们的简称.

  • <Inspector/> 等同为 <ObjectInspector> 或者说 <DOMInspector> 如果检查一个DOM节点.
  • <Inspector table/> 等同为 <TableInspector>。 。 。 .

< 目标检查者 / >

喜欢 console.log将它视为美化的版本 <pre>JSON.stringify(data, null, 2)</pre>。 。 。 .

如何运作

树状态保存为根. 如果点击扩展层次结构中的一些元素,则元素被卸载后状态将被保留.

API 密码

本部分接受下列道具: pro

data: PropTypes.any数字 : 您想要检查的 Javascript 对象

name: PropTypes.string数字 : 指定根节点的可选名称,默认为 undefined

expandLevel: PropTypes.number数字 : 指定该树最初应扩展到哪个水平的整数

expandPaths: PropTypes.oneOfType([PropTypes.string, PropTypes.array])数字 : 包含组件初始化时应当扩展的所有路径的阵列,或仅一个路径的串

  • 路径字符串类似于 乔森帕斯。 。 。 .
    • 这是一个点分隔的字符串像 $.foo.bar。 。 。 . $.foo.bar 扩展路径 $.foo.bar 地点 $ 是指根节点。 注意它只扩展出该单节点(但并非其所有的父母和根节点). 相反,你应该使用 expandPaths={['$', '$.foo', '$.foo.bar']} 向着世界扩展 $.foo.bar 节点.
    • 您可以使用 ['$', '$.1']
    • 您可以使用通配符扩展特定关卡上的所有路径
      • 例如,扩展所有一级和二级节点,使用 ['$', '$.*'] (相当于 expandLevel={2}(中文(简体) )
  • 结果与扩展合并

showNonenumerable: PropTypes.bool数字 : 显示不可假定属性

sortObjectKeys: PropTypes.oneOfType([PropTypes.bool, PropTypes.func])数字 : 用可选比较函数排序对象密钥

何时 sortObjectKeys={true} 提供对象的密钥,除数组外,按字母顺序排序.

nodeRenderer: PropTypes.func数字 : 使用自定义 nodeRenderer 使对象具有属性(可选)

  • 而不是使用默认 nodeRenderer您可以提供 用于渲染对象属性的自定义函数 。 这个 默认 节点朗德看起来像这样:

    import { ObjectRootLabel, ObjectLabel } from 'react-inspector'
    
    const defaultNodeRenderer = ({ depth, name, data, isNonenumerable, expanded }) =>
      depth === 0
        ? <ObjectRootLabel name={name} data={data} />
        : <ObjectLabel name={name} data={data} isNonenumerable={isNonenumerable} />;
    

replacer: PropTypes.func数字 : 使用自定义 replacer 要替换对象属性, 如 replacer 参数 JSON.stringify (可选)

import { ObjectInspector } from 'react-inspector'

const replacer = ({ data }) => {
  // replace the array data with the first 10 elements
  if (Array.isArray(data)) {
    return data.slice(0, 10);
  }
  return data;
}

const MyComponent = ({ data }) =>
  <div>
    <ObjectInspector data={data} replacer={replacer} />
  </div>

<表检查者 / >

喜欢 console.table。 。 。 .

API 密码

本部分接受下列道具: pro

data: PropTypes.oneOfType([PropTypes.array, PropTypes.object])数字 : 您想要检查的 Javascript 对象, 无论是数组还是对象

columns: PropTypes.array数字 : 您要在表格中显示的列名阵列

<DOM 检查器 />

API 密码

本部分接受下列道具: pro

data: PropTypes.object数字 : 您想要检查的DOM节点

使用量

import { ObjectInspector, TableInspector } from 'react-inspector';

// or use the shorthand
import { Inspector } from 'react-inspector';

const MyComponent = ({ data }) =>
  <div>
    <ObjectInspector data={data} />
    <TableInspector data={data} />

    <Inspector data={data} />
    <Inspector table data={data} />
  </div>

let data = { /* ... */ };

ReactDOM.render(
  <MyComponent data={data} />,
  document.getElementById('root')
);

尝试将检查人员嵌入到组件的渲染()方法中,为道具/状态提供活视图(热重装效果更好).

更多实例

查查故事书更多例子.

npm install && npm run storybook

打开 http://localhost:9001/ (英语)

主题

通过指定 theme 您可自定义检查人员. theme 道具可以是

  1. 指预设主题的字符串( t)"chromeLight" 或者说 "chromeDark"默认为 "chromeLight"(中文(简体) )
  2. 或提供必要变量的自定义对象。 离职 src/styles/themes 用于可能的主题变量.

示例1: 使用预设主题 :

<Inspector theme="chromeDark" data={{a: 'a', b: 'b'}}/>

实例2: 通过继承铬光主题来改变树节点缩进:

import { chromeLight } from 'react-inspector'

<Inspector theme={{...chromeLight, ...({ TREENODE_PADDING_LEFT: 20 })}} data={{a: 'a', b: 'b'}}/>

路线图

视察员类别:

  • 树型
    • 常见对象
    • DOM 节点
  • 表格样式
    • 列增压器
  • 组样式

捐款

欢迎各方作出贡献. 以往贡献者

额外

  • 如果你打算抓获 console.logs,你也许想看看 console-feed。 。 。 .
  • react-object-inspector 软件包将被贬值. <ObjectInspector/> 现在是新软件包的一部分 react-inspector。 。 。 .
  • 为什么是内线风格? 本文件 总结清楚.

版本与发布记录

@basemachina/react-inspector 共发布 2 个版本,首次发布于 2025/10/03;过去 12 个月发布了 0 个版本。

版本发布日期距今
8.1.1latest2025/10/031.1 年前
8.1.02025/10/031.1 年前

关于 @basemachina/react-inspector 的常见问题

@basemachina/react-inspector 是什么?

浏览器 DevTools 检查器在您的 React app 内的力量

如何安装 @basemachina/react-inspector?

在项目目录运行 npm install @basemachina/react-inspector,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^18.0.0 || ^19.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@basemachina/react-inspector 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@basemachina/react-inspector 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@basemachina/react-inspector 可以商用吗?

@basemachina/react-inspector 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@basemachina/react-inspector 的下载量有多少?

根据 npm 官方下载统计,@basemachina/react-inspector 在 2026/10/08 – 2026/11/06 这 30 天内被下载 5,151 次,日均约 172 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@basemachina/react-inspector 还在维护吗?

最新版本 8.1.1 发布于 2025/10/03(1.1 年前);至今共发布 2 个版本,其中过去 12 个月发布了 0 个;首次发布于 2025/10/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。