八、鸿蒙ArkTS/ArkUI实战-装饰器@State

@State装饰器:组件内状态

@State状态数据具有以下特征:

  • 1、支持多种类型:允许class、number、boolean、string强类型的按值和按引用类型。允许这些强类型构成的数组,即Array<class>、Array<string>、Array<boolean>、Array<number>不允许object和any

  • 2、支持多实例:组件不同实例的内部状态数据独立。

  • 3、内部私有:标记为@State的属性是私有变量,只能在组件内访问。

  • 4、需要本地初始化:必须为所有@State变量分配初始值,将变量保持未初始化可能导致框架行为未定义。

  • 5、 创建自定义组件时支持通过状态变量名设置初始值:在创建组件实例时,可以通过变量名显式指定@State状态属性的初始值。

@State向@Link传参时,用$引用@State父组件变量的值,如:

ComponentA({ highScore: $highScore })

@State向@Prop传参时,用this.引用@State父组件变量的值,如:

ComponentA({ highScore: this.highScore })
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容