- 概述
在应用开发中,状态管理是很重要的一环,状态的变化往往会影响UI的更新。像是react native 的redux,或者flutter bloc,provider 而在鸿蒙中就比较简单粗暴了,通过鸿蒙提供的状态装饰器来就可以了。本文将介绍鸿蒙的主要状态装饰器,并重点分析@State、@Provide等装饰器的使用,以及V1和V2状态管理的差异。
2. 鸿蒙状态装饰器简介
2.1 @State
@State 装饰器是最基础的状态管理装饰器,主要用于组件内的状态管理。当一个变量被@State装饰后,组件会在该状态变化时重新渲染。
使用场景:
适用于需要在同一组件中管理并展示的状态,如表单输入、按钮状态等。
代码示例:
ts
@State stateCount: number = 0;
increment() {
this.stateCount++;
}
当stateCount的值发生变化时,使用这个状态的UI部分会自动重新渲染。
2.2 @Provide / @Consume
@Provide:用于提供一个状态或服务,供子组件使用。
@Consume:用于消费父组件或全局状态提供的内容。
通过这两个装饰器,可以实现状态在父子组件之间的共享。
代码示例:
父组件:
ts
@Provide message: string = “Hello from Parent”;
updateMessage() {
this.message