自定义构建函数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 属性
13622浏览 • 3回复 待解决
自定义弹窗自定义转场动画
474浏览 • 1回复 待解决
自定义构建任务写入文件
384浏览 • 1回复 待解决
自定义子 window 大小限制
754浏览 • 1回复 待解决
编译构建怎么编写自定义任务?
287浏览 • 1回复 待解决
自定义组件嵌套子组件
8110浏览 • 3回复 待解决
自定义组件什么时候销毁
847浏览 • 1回复 待解决
如何自定义组件原型菜单
477浏览 • 1回复 待解决
如何自定义模拟Tabs组件
441浏览 • 1回复 待解决
ArkTs如何自定义容器组件
1862浏览 • 1回复 待解决
自定义弹窗使用相关问题
444浏览 • 1回复 待解决
自定义弹窗如何嵌套使用
551浏览 • 1回复 待解决
自定义装饰器使用问题
314浏览 • 1回复 待解决
自定义组件如何导出、引入?
1174浏览 • 1回复 待解决
鸿蒙组件toast自定义样式
7441浏览 • 1回复 待解决
如何设置自定义组件height缺省
741浏览 • 1回复 待解决
自定义组件中如何添加图片?
1347浏览 • 1回复 待解决
js 自定义组件如何传递方法?
4747浏览 • 2回复 待解决