【HarmonyOS NEXT】object对象类型的数据添加Func值时,发生应用闪退

项目在华为DevEcoStudio4.0模拟器上运行正常,但在Mate60Pro的NEXT系统中,因尝试将function值存入LocalStorage引发非法变量值错误。问题在于params中的string-function键值对不被支持,需确保localStorage值类型正确。
摘要由CSDN通过智能技术生成

【关键字】

object / Func值 / function值 / 应用闪退 / LocalStorage

【问题描述】

项目在DevEco Studio 4.0(API10)模拟器运行正常,但在Mate 60 Pro设备NEXT版本系统中出现闪退,具体现象为:调用window级别的弹框,通过window的loadUI来展示弹框,其中有带参数local storage,在object塞入Func值时,应用闪退;去掉Func的塞值,应用正常运行。

闪退报错如下:

@Component 'owning @Component UNKNOWN': Illegal variable value error with decorated variable @State/@Provide (class ObservedPropertyPU) 'ok': failed validation: 'undefined, null, number, boolean, string, or Object but not function, attempt to assign value type: 'function', value: 'undefined'!

【解决方案】

使用new LocalStorage(params)这一步的代码存在错误:params里有string-function类型的键值对,而LocalStorage的value只能为Class、number、boolean、string和这些类型的数组形式,因此导致抛出异常。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-state-management-0000001821000989#ZH-CN_TOPIC_0000001821000989__localstorage9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值