zdl
|
ed2837bf56
|
refactor: 移除 AppProviders 中的全局 ErrorBoundary,避免重复嵌套
问题:
- AppProviders 有全局 ErrorBoundary (第1层)
- PageTransitionWrapper 有页面级 ErrorBoundary (第2层)
- Auth.js 有认证页 ErrorBoundary (第3层)
- 导致同一个错误被捕获多次,造成冗余
优化策略:
- 移除 AppProviders 中的全局 ErrorBoundary
- 保留 PageTransitionWrapper 中的页面级 ErrorBoundary
- 保留 Auth.js 中的认证页 ErrorBoundary
优势:
- 精细化错误隔离: 页面错误不会影响导航栏
- 更好的用户体验: 导航栏始终可用,用户可以切换页面
- 避免重复捕获: 每个错误只被捕获一次
- 符合最佳实践: ErrorBoundary 应在需要隔离的边界处使用
最终 ErrorBoundary 层级:
- MainLayout → PageTransitionWrapper → ErrorBoundary → 页面内容
- Auth.js → ErrorBoundary → 认证页面
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 15:27:18 +08:00 |
|
zdl
|
e3864239ba
|
feat: 创建 AppProviders 统一管理 Provider 层级
- 创建 src/providers/AppProviders.js (64行)
- 集中管理 6 层 Provider: Redux, Chakra, ErrorBoundary, Notification, Auth, AuthModal
- 添加详细的 JSDoc 注释说明 Provider 层级顺序
优势:
- Provider 配置独立管理,易于维护
- 避免 App.js 中 6 层嵌套
- 便于测试和重用
- 新增 Provider 只需修改一个文件
Provider 层级 (从外到内):
1. ReduxProvider - 状态管理层
2. ChakraProvider - UI 框架层
3. ErrorBoundary - 错误边界
4. NotificationProvider - 通知系统
5. AuthProvider - 认证系统
6. AuthModalProvider - 认证弹窗管理
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-30 15:00:10 +08:00 |
|