AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 2025年HarmonyOS应用开发者基础认证题库 题目详情
CB1C4E87ED800001614117901380121E
2025年HarmonyOS应用开发者基础认证题库
526
多选题

37【多选题】下列关于@State 装饰器的描述错误的是

A
@State 装饰的变量支持初始化子组件的常规变量
B
子组件@Link 装饰的变量可以和父组件的@State 变量建立双向数据绑定
C
@State 变量可以从父组件初始化或者本地初始化
D
@State 变量支持组件外访问

答案解析

正确答案:AD

解析:

题目:37【多选题】下列关于@State 装饰器的描述错误的是 正确答案:A、D 解析如下: 选项 A:@State 装饰的变量支持初始化子组件的常规变量 错误。 @State 装饰的变量是父组件中的状态变量,不能直接用于初始化子组件的“常规变量”。子组件的常规变量是指非装饰器修饰的普通变量,它们不具备响应式特性,也无法通过父组件的 @State 变量直接赋值实现数据传递。组件间的数据传递需通过属性装饰器(如 @Prop、@Link、@ObjectLink 等)完成。因此,该选项描述错误。 选项 B:子组件@Link 装饰的变量可以和父组件的@State 变量建立双向数据绑定 正确。 @Link 装饰器用于在子组件中创建与父组件状态变量的双向绑定。当子组件使用 @Link 修饰的变量,并通过 $ 参数接收父组件的 @State 变量时,二者之间形成双向数据同步。子组件修改 @Link 变量会反馈到父组件的 @State 变量。这是 ArkUI 框架中实现父子组件双向通信的重要机制。因此该选项描述正确。 选项 C:@State 变量可以从父组件初始化或者本地初始化 正确。 @State 变量可以在组件内部进行本地初始化,例如直接赋初始值;也可以通过父组件传递的参数进行初始化,尤其是在自定义组件中,允许使用父组件的状态或常量来初始化自身的 @State 变量(但需注意是否触发响应式更新)。因此该选项描述正确。 选项 D:@State 变量支持组件外访问 错误。 @State 装饰的变量是组件内部的状态变量,其作用域仅限于组件内部,不支持从组件外部直接访问或修改。这是为了保证组件状态的封装性和响应式系统的完整性。若需对外暴露数据,应使用其他机制,如事件传递、状态管理或使用 @Provide / @Consume、@Watch 等配合实现。因此该选项描述错误。 核心知识点总结: 1. @State 装饰器: - 用于声明组件内的状态变量,当其值变化时会触发 UI 重新渲染。 - 必须声明在组件类中,且为成员变量。 2. 响应式更新机制: - @State 变量的变化会被框架监听,自动触发视图更新。 3. 组件间通信: - 父组件可通过 @State 提供数据。 - 子组件使用 @Prop 接收单向数据绑定,@Link 实现双向绑定。 - 使用 $ 名称方式传递变量引用(如 $count)以建立双向连接。 4. 封装性原则: - @State 是私有状态,不允许外部直接访问,确保数据流清晰可控。 综上,描述错误的选项是 A 和 D。

相关知识点:

@State装饰器特性要记清

题目纠错
2025年HarmonyOS应用开发者基础认证题库

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码