用途:诊断 React 运行时性能。围绕一个可复现的交互进行测量,把浏览器工作与 React 渲染关联起来,只报告 trace 支持的结论。
主要能力:记录 React Doctor trace,用紫色轮廓标识正在渲染的组件;采集 Long Animation Frames、交互计时、组件渲染次数与自身耗时;报告最差交互、总阻塞时长、LCP、CLS,以及事件处理、JavaScript、样式、布局、绘制等脚本热点。
使用方式:在交互式终端运行 npx react-doctor@latest scan http://localhost:3000 --format json。工具会打开隔离的 Chrome 配置,执行计划好的交互后按 Enter 结束,录制最多五分钟。交互式用户可省略 URL 选择检测到的本地应用;自动化代理必须显式传入 URL。需要登录态时通过 CDP 连接:npx react-doctor@latest scan https://app.example.com --cdp http://127.0.0.1:9222 --format json,并使用专用调试配置,登录后关闭所有非空白标签页。
适用场景:定位慢交互、渲染热点、长帧与阻塞来源,并把测量结果关联回源码组件与事件处理器。
限制:优先使用生产构建,开发构建会扭曲渲染与脚本计时,若必须测量需在报告中标注。压缩的 .json.gz trace 可能包含 URL、源码路径和应用行为,除非明确批准上传,否则应保留在本地。高渲染次数只是证据而非缺陷;生成的 chunk 名只标识浏览器工作,不代表所属源码组件;丢弃的组件事件会使热点统计不完整。不要用静态 lint 结果填充报告,只有运行时证据能关联到被测流程时才纳入源码发现。修复后需以相同模式重建、相同视口重录同一交互,必要时各取三次样本比较中位数,并确认行为与无障碍未回退。