自定义组件与组件复用:写出可维护的界面

应用页面多了,你会发现大量重复的界面片段:卡片、按钮、弹窗。把它们封装成自定义组件,代码量减少、维护变容易、改动一处全站生效。

为什么需要组件化

重复代码的三个危害:改需求要改多处、容易改漏、文件越来越长难维护。自定义组件把“界面+逻辑”打包,像积木一样复用。

组件化也是团队协作的基础:每人负责几个组件,互不干扰。

自定义组件与组件复用:写出可维护的界面开发示例图

@Component:创建组件

用 @Component 定义一个组件:它有自己的 build() 描述界面,有自己的状态和逻辑。组件通过参数接收外部数据,通过回调(@Event 或普通函数)通知外部事件。

比如定义一个 Card 组件:传入标题、内容、图片,点击时回调点击事件,三个页面引用同一个 Card。

@Builder:复用局部 UI

不想定义完整组件,只想复用一段 UI 结构,用 @Builder:把一段界面封装成方法,在 build() 里调用。@Builder 适合“轻量复用”,不涉及独立状态。

@Builder 可以传参数,实现带参数的局部复用,比如不同的按钮样式。

自定义组件与组件复用:写出可维护的界面架构示意图

@Extend:扩展组件能力

@Extend 给已有组件添加自定义样式或方法:比如给所有 Button 统一加一个主题样式,定义一次,全局生效。适合做样式统一。

@Extend 可以带参数,实现不同变体,是主题定制的利器。

组件化设计原则

单一职责:一个组件只做一件事;接口清晰:参数和回调命名规范;状态收敛:能不放组件的状态就不放。组件之间尽量通过参数和回调通信,避免互相“动手脚”。

组件化不是一蹴而就:先从小卡片开始,尝到甜头后自然越拆越细。组件化程度,是应用工程成熟度的重要标志。

发表评论