写点什么

HarmonyOS 组件复用 @ReusableV2 装饰器的基本使用 2

作者:万少
  • 2025-06-26
    广东
  • 本文字数:803 字

    阅读完需:约 3 分钟

HarmonyOS 组件复用 @ReusableV2 装饰器的基本使用 2

HarmonyOS 组件复用 @ReusableV2 装饰器的基本使用 2


前言


接上文 HarmonyOS 组件复用 @ReusableV2 装饰器的基本使用


上文已经介绍过了 @ReusableV2 的基本使用和生命周期,本文主要讲解**@ReusableV2**的使用场景


使用场景


如官网中所总结的,因为以下场景都经常伴随着组件的显示和隐藏,@ReusableV2 常见的使用场景如下:


  1. 搭配 if 使用

  2. 搭配 Repeat 使用

  3. 搭配 ForEach 使用

  4. 搭配 LazyForEach 使用


搭配 if 使用


效果



搭配 Repeat each 使用 懒加载场景


Repeat 组件懒加载场景中,将会优先使用 Repeat 组件的缓存池,正常滑动场景、更新场景不涉及组件的回收与复用。当 Repeat 的缓存池需要扩充时将会向自定义组件要求新的子组件,此时如果复用池中有可复用的节点,将会进行复用。


效果



步骤解释:


  1. 正常滑动列表,不会触发组件的 回收和复用

  2. 点击按钮,条件渲染 组件时,就会触发组件的回收和复用了


virtualScroll


virtualScroll 表示 虚拟列表,使用不使用 virtualScroll 的区别在于


使用 virtualScroll


不使用 virtualScroll


预加载区的 ListItem 会在系统空闲时创建和布局


预加载区内的 ListItem 会在首帧创建,系统空闲时布局 ListItem 和创建 ListItem 内部的子结构


使用 virtualScroll :



不使用 virtualScroll :



搭配 Repeat each 使用 非懒加载场景


Repeat 组件非懒加载场景中,会在删除/创建子树时触发回收/复用。



操作步骤如下:


  1. 运行项目

    触发 aboutToAppear

  2. 增加元素

    触发 aboutToAppear

  3. 删除元素

    触发 aboutToRecycle

  4. 更改元素

    无输出

  5. 删除/创建 Repeat

    触发 aboutToRecycle 和 aboutToReuse


搭配 Repeat 和 ForEach


推荐开发者使用 Repeat 组件的非懒加载场景代替 ForEach 组件


搭配 Repeat 和 LazyForEach


推荐开发者使用 Repeat 组件的懒加载场景代替 LazyForEach 组件


关于我们


关于青蓝逐码组织


如果你兴趣想要了解更多的鸿蒙应用开发细节和最新资讯甚至你想要做出一款属于自己的应用!欢迎在评论区留言或者私信或者看我个人信息,可以加入技术交流群。



发布于: 刚刚阅读数: 5
用户头像

万少

关注

还未添加个人签名 2021-12-02 加入

还未添加个人简介

评论

发布
暂无评论
HarmonyOS 组件复用 @ReusableV2 装饰器的基本使用 2_harmoyos_万少_InfoQ写作社区