Skip to content

组件化方案

概述

组件化是前端开发中的核心概念,通过将页面拆分成独立、可复用的组件,提高代码的可维护性和开发效率。

组件化原则

1. 单一职责原则

每个组件应该只负责一个功能,保持组件的简单性和可维护性。

2. 可复用性

组件应该设计为可复用的,避免过度耦合业务逻辑。

3. 可组合性

小组件可以组合成大组件,形成复杂的 UI 结构。

组件化实践

基础组件

  • 按钮、输入框、表单等基础 UI 组件
  • 不包含业务逻辑
  • 高度可复用

业务组件

  • 包含特定业务逻辑
  • 可能在多个页面复用
  • 依赖基础组件

页面组件

  • 完整的页面视图
  • 组合多个业务组件
  • 处理页面级状态

组件通信

父子组件通信

  • Props 传递数据
  • Events 传递事件
  • Provide/Inject 跨层级通信

兄弟组件通信

  • 事件总线
  • 状态管理
  • 父组件中转

最佳实践

  1. 组件命名:使用清晰、语义化的命名
  2. Props 验证:定义清晰的 Props 类型和默认值
  3. 事件命名:使用 kebab-case 命名自定义事件
  4. 样式隔离:使用 scoped 样式或 CSS Modules

常见问题

组件粒度如何划分?

  • 根据功能复杂度和复用性决定
  • 过细的粒度增加维护成本
  • 过粗的粒度降低复用性

如何避免组件过度抽象?

  • 遵循 YAGNI 原则(You Aren't Gonna Need It)
  • 在实际需求驱动下进行抽象
  • 保持组件的简单性

相关资源

基于 VitePress 的本地知识库