鸿蒙开发之状态管理@State

本文介绍了鸿蒙开发中声明式UI的双向绑定机制,特别是@State装饰器在状态管理和视图更新中的应用。重点讲解了@State可以作用的数据类型,包括基本类型、对象和嵌套对象,以及注意事项——变量初始化的重要性。
摘要由CSDN通过智能技术生成

1、视图数据双向绑定

鸿蒙开发采用的声明式UI,利用状态驱动UI的更新。其中@State被称作装饰器,是一种状态管理的方式。

状态:指的是被装饰器装饰的驱动视图更新的数据。

视图:是指用户看到的UI渲染出来的界面。

之所以成为双向绑定可以这样理解,在视图上的点击事件中去更改状态数据,反过来监听状态的视图也发生相应的数据改变。

2、@State作用的数据类型

@State可以作用到Object对象、数组、number、string、class、boolean、enum等类型。

但是,监听的嵌套对象的属性或者嵌套的数组内属性的改变不能引起视图的改变。

2.1对于基本数据类型

如string,通过点击可以发现在改变message字符串值时UI渲染的内容也发生了改变

2.2对于Object类型

class Person {
  name: string
  age:number

  constructor(name:string,age:number) {
    this.name = name
    this.age = age
  }
}

@Entry
@Component
struct StatePage {
  @State p:Person = new Person('Jack',20)

  build() {
    Column() {
      Text(this.p.name+':'+this.p.age)
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值