根据文档说明,不建议在aboutToReuse中对@Prop变量重新赋值。赋值会导致降低组件的复用性能。

根据文档说明,不建议在aboutToReuse中对@Prop变量重新赋值。赋值会导致降低组件的复用性能。但是不赋值,UI不会更新。@Reusable最佳实践是怎么使用?

HarmonyOS
2024-04-28 22:55:31
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
wngsheng

1.建议复用自定义组件时避免一切可能改变自定义组件的组件树结构和可能使可复用组件中产生重新布局的操作以将组件复用的性能提升到最高;

2.建议列表滑动场景下组件复用能力和LazyForEach渲染控制语法搭配使用以达到性能最优效果;

3.开发者需要区分好自定义组件的创建和更新过程中的行为,并注意到自定义组件的复用本质上是一种特殊的组件更新行为,组件创建过程中的流程与生命周期将不会在组件复用中发生,自定义组件的构造参数将通过aboutToReuse生命周期回调传递给自定义组件;例如: aboutToAppear生命周期和自定义组件的初始化传参将不会在组件复用中发生;

4.避免在aboutToReuse生命周期回调中产生耗时操作,最佳实践是仅在aboutToReuse中做自定义组件更新所需的状态变量值的更新;

5.无需在aboutToReuse中对@Link、@StorageLink、@ObjectLink、@Consume等自动更新值的状态变量进行更新,可能触发不必要的组件刷新。

分享
微博
QQ
微信
回复
2024-04-29 15:35:31
相关问题
性能优化组件复用原理是什么
804浏览 • 1回复 待解决
JS 获取控件位置并动态赋值问题
2691浏览 • 1回复 待解决
嵌套组件Scroll生效
992浏览 • 1回复 待解决
用数组变量控制组件属性生效
772浏览 • 1回复 待解决
如何让变量包含“-”
666浏览 • 1回复 待解决
ForEach什么情况下触发复用
392浏览 • 1回复 待解决
LocalStorageLink修饰变量自动保存
592浏览 • 1回复 待解决
Swiper是否支持组件复用
401浏览 • 1回复 待解决
组件入参加@prop和不加区别
869浏览 • 1回复 待解决