From 82a6e2413289a4a7b6ac2dfe90b74062bd035c9d Mon Sep 17 00:00:00 2001 From: Misaka_Company Date: Thu, 26 Mar 2026 12:15:38 +0800 Subject: [PATCH] docs: add release notes for version 1.6.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Document the major refactoring work and improvements in 1.6.1: - Component architecture restructure (948 → 200 lines) - Tooltip display fixes and formatting improvements - Performance optimizations following Vercel React best practices - Enhanced code maintainability and developer experience Co-Authored-By: Claude Sonnet 4.6 --- docs/releases/1.6.1.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 docs/releases/1.6.1.md diff --git a/docs/releases/1.6.1.md b/docs/releases/1.6.1.md new file mode 100644 index 0000000..6667884 --- /dev/null +++ b/docs/releases/1.6.1.md @@ -0,0 +1,42 @@ +# 1.6.1 + +## 核心改进 + +- **重大重构**:将报告分析组件从 948 行单体组件重构为模块化架构,拆分为 11 个专注的模块文件。 +- **代码质量提升**:主组件代码量减少 79%(948 → 200 行),显著提升可维护性和可读性。 +- **架构优化**:分离数据获取、状态管理和 UI 渲染逻辑,遵循单一职责原则。 + +## 体验优化 + +- **修复 tooltip 显示问题**:解决执行时间在提示框中重复显示的问题,现在只显示一次格式化后的时间值。 +- **统一时间格式**:所有时间数值统一保留 1 位小数,提升数据显示的一致性和专业度。 +- **优化界面布局**:精简 tooltip 底部信息,避免冗余内容干扰用户视线。 + +## 性能优化 + +- **组件渲染优化**:将 tooltip 组件移出父组件并使用 React.memo,减少不必要的重新渲染。 +- **正则表达式优化**:预编译正则表达式模式,避免在循环中重复创建,提升数据处理效率。 +- **状态更新优化**:使用函数式 setState 更新,避免闭包陷阱和过期的状态读取。 +- **回调函数优化**:使用 useCallback 稳定回调函数引用,减少子组件的不必要更新。 + +## 开发体验 + +- **模块化设计**:将复杂组件拆分为可复用的 hooks 和 UI 组件,便于单独测试和维护。 +- **类型安全**:完整的 TypeScript 类型定义,提升开发时的类型检查和 IDE 支持。 +- **代码组织**:清晰的文件结构(types、hooks、components、utils),便于团队协作和代码导航。 +- **向后兼容**:保持原有 API 接口不变,现有使用方式无需修改。 + +## 技术细节 + +- 应用 Vercel React 最佳实践,包括: + - 避免内联组件定义(rerender-no-inline-components) + - 提升正则表达式创建位置(js-hoist-regexp) + - 使用函数式状态更新(rerender-functional-setState) + - 最小化回调依赖项(rerender-dependencies) +- 新增自定义 hooks:useReportData、useChartData、useReportFilters +- 新增 UI 组件:MetricSelector、ViewModeToggle、UserFilter、ReportChart +- 新增工具函数:数据解析器和聚合器 + +## 破坏性变更 + +无破坏性变更,所有现有功能保持完全兼容。