HarmonyOS 在@State和@Prop的单向传输场景

@State 和 @Prop 的单向传输场景中,@State 变量只能定义在 @Entry 标记的页面中,而不能定义在 @Component 中;是否可以理解为 Harmony 框架的设计如此?

HarmonyOS
2024-12-25 08:44:18
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

@Prop和@State均可定义在 @Component 中。可参考如下代码:

(注释处同步放开,可测试逆向同步的效果)

1.TestComponentStatePage.ets

import { ComponentStateParent } from '../component/ComponentStateParent'

@Entry
@Component
struct TestComponentStatePage {
  @State message: string = 'Hello World';

  build() {
    Column() {
      ComponentStateParent()
    }
    .margin({ top: 300 })
    .height('100%')
    .width('100%')
  }
}

2.ComponentStateParent.ets

import { ComponentState } from '../component/ComponentState'

@Component
export struct ComponentStateParent {
  // @Prop textTab: string = "666777";
  @State textTab: string = "666777";

  build() {
    Column() {
      Text('内容1').onClick(() => {
        this.textTab = "888"
      })

      ComponentState({ text: this.textTab });
    }
  }
}

3.ComponentState.ets

import router from '@system.router';

@Component
export struct ComponentState {
  // @State text: string = '我是内容'
  @Prop text: string = '我是内容'

  build() {
    Column() {
      Text(this.text)
        .fontSize(20)
        .margin({ top: 10, bottom: 10 })
        .onClick(() => {
          this.text = "999"
        })
    }
  }
}
分享
微博
QQ
微信
回复
2024-12-25 10:20:14
相关问题
State模型如何配置支持http明文传输
2053浏览 • 1回复 待解决
HarmonyOS @ObjectLink@State相关疑问
516浏览 • 1回复 待解决
组件入参加@prop不加区别
2074浏览 • 1回复 待解决
HarmonyOS Prop用法
353浏览 • 1回复 待解决
HarmonyOS 开发@Prop问题
475浏览 • 1回复 待解决
HarmonyOS Navigationrouter使用场景
895浏览 • 2回复 待解决
HarmonyOS onDidBuild作用应用场景
453浏览 • 1回复 待解决
HarmonyOS H5app通信是否有传输上限
117浏览 • 1回复 待解决
单向绑定问题,有知道方法吗?
1103浏览 • 1回复 待解决
HarmonyOS 多个@Prop变化顺序问题
681浏览 • 1回复 待解决
ListItemGroup Lazyforeach结合场景
1228浏览 • 1回复 待解决
HarmonyOS @Prop参数传递问题
346浏览 • 1回复 待解决