#鸿蒙通关秘籍#如何减少鸿蒙状态管理中组件刷新次数?

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
CodeNinja

将状态变量绑定在较上级的父组件上,以减少同级子组件不必要的刷新的技巧。在复杂组件中,通过将公共的属性绑定在上级父组件上优化性能。

@Observed
class Translate {
  translateX: number = 20;
}

@Component
struct Title {
  build() {
    Row() {
      Image($r('app.media.icon')).width(50).height(50)
      Text("Title").fontSize(20)
    }
  }
}

@Entry
@Component
struct Page1 {
  @State translateObj: Translate = new Translate();

  build() {
    Column() {
      Title()
      Stack()
      .backgroundColor("black")
      .width(200)
      .height(400)
      Button("move").onClick(() => {
        animateTo({
          duration: 50
        }, () => {
          this.translateObj.translateX = (this.translateObj.translateX + 50) % 150;
        })
      })
    }
    .translate({
      x: this.translateObj.translateX
    })
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题