自定义构建函数Buider与自定义组件component的使用区别以及限制是什么

自定义构建函数Buider与自定义组件component的使用区别以及限制是什么

HarmonyOS
2024-03-17 12:30:37
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

自定义构建函数(@Builder)和自定义组件的主要区别如下:

  • 自定义构建函数(@Builder)更轻量,其作为UI元素抽象的方法,实现和调用相较于自定义组件比较简洁。
  • 在自定义组件中,可以定义成员函数/变量、自定义组件生命周期等。
  • 而自定义构建函数(@Builder)不支持定义状态变量和自定义生命周期。
  • 在自定义组件中,可直接通过状态变量的改变,来驱动UI的刷新。
  • 而自定义构建函数(@Builder)默认的按值参数传递方式不支持动态改变组件,当传递的参数为状态变量时,状态变量的改变不会引起@Builder方法内的UI刷新,要实现UI动态刷新需• 要按引用传递参数。
  • 在自定义组件中要实现插槽功能,需要使用@Builder和@BuilderParam实现。
  • 具体实现可参考:@BuilderParam装饰器:引用@Builder函数
  • 自定义构建函数(@Builder)中使用了自定义组件,那么该方法每次被调用时,对应的自定义组件均会重新创建。
已于2024-3-26 18:08:55修改
分享
微博
QQ
微信
回复
2024-03-17 22:18:30
相关问题
如何自定义Component 属性
12930浏览 • 3回复 待解决
自定义组件嵌套子组件
7311浏览 • 3回复 待解决
ArkTs如何自定义容器组件
954浏览 • 1回复 待解决
自定义组件什么时候销毁
186浏览 • 1回复 待解决
js 自定义组件如何传递方法?
4217浏览 • 2回复 待解决
如何设置自定义组件height缺省
137浏览 • 1回复 待解决
自定义组件中如何添加图片?
748浏览 • 1回复 待解决
Grid组件scrollBar是否支持自定义
335浏览 • 1回复 待解决
自定义组件如何导出、引入?
361浏览 • 1回复 待解决
鸿蒙组件toast自定义样式
6639浏览 • 1回复 待解决
如何自定义Video组件控制栏样式
370浏览 • 1回复 待解决
getContext(this)能否在自定义类中使用
363浏览 • 1回复 待解决
JAVA卡片怎么用自定义组件
4407浏览 • 1回复 待解决
是否支持自定义装饰器
222浏览 • 1回复 待解决
如何使用和加载自定义字体
149浏览 • 1回复 待解决
如何在自定义函数中创建一个UI组件
215浏览 • 1回复 待解决