组件边界服务于理解
组件拆分最常见的问题不是拆得不够,而是拆得太早。一个组件如果只是把三行 JSX 包起来,却没有提供更清晰的语义,它可能只是增加了一层跳转。
好的组件边界应该回答一个问题:读代码的人能否更快理解这一块在做什么。
什么时候应该拆
当一段 UI 有独立语义、重复出现、包含复杂状态,或者需要被单独测试时,拆分通常是值得的。
不要为了目录漂亮而拆
目录结构整齐不等于系统清晰。如果每个文件都很短,但业务逻辑散落在十几个地方,维护者依然会很累。
命名比抽象更重要
一个清楚的组件名能直接传达意图。比如 PostCard 比 CardWrapper 更有价值,因为它告诉读者这是文章卡片,而不是一个泛化容器。
小结
组件边界的目标不是复用率最大化,而是让变化更容易发生。先让代码可读,再考虑复用和抽象。