HarmonyOS 鸿蒙Next @State赋值在IDE提示错误的问题

HarmonyOS 鸿蒙Next @State赋值在IDE提示错误的问题

请问如下代码中编译器提示错误是不是有问题,提示父@State属性不能给子@State属性,但是可以编译运行,而且看文档写的是可以赋值。

cke_7913.png

cke_162.png


更多关于HarmonyOS 鸿蒙Next @State赋值在IDE提示错误的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

9 回复

楼主您好,在新的IDE版本中没有出现这样的问题。

更多关于HarmonyOS 鸿蒙Next @State赋值在IDE提示错误的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


@State赋值给@State不允许的,可以用@Observed class Model{ … }定义模型, 再用**@ObjectLink**去接对象。

哪里有写不允许吗,目前看到的文档是可以,运行也没问题,目前倾向于lint提示错误。

Assigning the ‘State’ decorated attribute ‘model’ to the ‘State’ decorated attribute ‘model’ is not allowed.

@State赋值给@State不允许的,可以用@Observed class Model{ … }定义模型, 再用@ObjectLink去接对象。

没解决,运行没问题,等升级看看吧

楼主,我也遇到了和你这个一样的问题,请问你是怎么解决的,提示报错,但是运行没有问题

我也是最新的,release channel
Build Version: 3.1.0.501, built on June 20, 2023

在HarmonyOS开发中,使用@State装饰器时,IDE提示错误可能涉及以下几个原因:

  1. 类型不匹配:@State装饰的变量类型与赋值的值类型不一致。例如,@State声明为string类型,但赋值了一个number类型。

  2. 未初始化:@State装饰的变量在声明时未初始化,且未在build方法中进行赋值。

  3. 作用域问题:@State变量在组件外部或不当的作用域中被访问或修改。

  4. 重复声明:@State变量在同一个组件中被重复声明。

  5. 语法错误:@State装饰器的语法使用不正确,例如缺少@符号或拼写错误。

  6. IDE缓存问题:IDE缓存可能导致错误的提示,尝试清理缓存或重启IDE。

  7. 版本兼容性:使用的HarmonyOS SDK版本与IDE或项目配置不兼容,导致@State装饰器无法正确识别。

  8. 项目配置错误:项目配置文件(如build.gradleoh-package.json)中可能存在错误配置,影响@State的使用。

检查上述问题并修正后,@State赋值的IDE错误提示通常可以解决。

回到顶部