HarmonyOS 状态变量监听的数据使用interface/type作为载体仍然生效,请问是否有可能有问题

工程中出现了部分写法为如下写法,请问是否会对运行产生影响?

@State paramName: IQuoteCardData
@State private mNewsListData: NewsItemData
export type NewsItemData {
}
export interface IQuoteCardData {
  quoteHead: IQuoteHead,
  quoteBody: Array<IQuoteBodyElement[]>
}

这与文档中描述的不符:

允许装饰的变量类:Object、class、string、number、boolean、enum类型,以及这些类型的数组。

支持Date类型。API11及以上支持Map、Set类型。支持undefined和null类型。

API11及以上支持上述支持类型的联合类型,比如string | number, string | undefined 或者 ClassA | null,示例见@State支持联合类型实例。

注意当使用undefined和null的时候,建议显式指定类型,遵循TypeScript类型校验,比如:@State a : string | undefined = undefined是推荐的,不推荐@State a: string = undefined。

HarmonyOS
9天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

class可以加@Observed 走深层那一套,interface大部分情况下都是字面量临时创建的 没法跟Objectlink配合使用 就跟一个简单类型一样;所以如果要是想嵌套的话,这种方式肯定是不行的,但是如果只是简单的定义,应该是Ok的;还是比较推荐class。

分享
微博
QQ
微信
回复
9天前
相关问题
ArkTS中如何监听状态变量变化?
1118浏览 • 1回复 待解决
HarmonyOS 状态变量不刷新问题
587浏览 • 1回复 待解决
状态变量和常规变量什么区别?
598浏览 • 2回复 待解决
HarmonyOS constraintSize支持状态变量
162浏览 • 1回复 待解决
关于状态变量@state必须知道
1327浏览 • 1回复 待解决