AppStorage.get 拿到的值 undefined HarmonyOS 鸿蒙Next
AppStorage.get 拿到的值 undefined HarmonyOS 鸿蒙Next
组件A:
let key: string = `user_switch_status_${this.memberInfo.member_id}`
AppStorage.setOrCreate(key, this.recommendType ? 'open':'close')
组件B:
let key: string = `user_switch_status_${this.memberInfo.member_id}`
let checkType = AppStorage.get<string>(key);
console.log('AppStorage user_recommend_status', checkType)
key是由固定字符串和用户ID拼接的变量。 无论在组件A中设置key对应的value值是 open还是close, 在组件B中打印的checkType值一直是undefined 。
更多关于AppStorage.get 拿到的值 undefined HarmonyOS 鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
检查${this.memberInfo.member_id}是不是变了,打印到控制台看一下
更多关于AppStorage.get 拿到的值 undefined HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS中,AppStorage.get
方法用于从应用全局存储中获取指定键的值。如果返回值是undefined
,可能的原因包括:
- 键不存在:
AppStorage
中未存储该键对应的值。 - 类型不匹配:存储的值类型与预期类型不匹配,导致无法正确获取。
- 未初始化:在获取值之前,未通过
AppStorage.set
或@StorageLink
等方式初始化该键的值。 - 生命周期问题:在某些生命周期阶段,
AppStorage
中的数据可能尚未加载或已被清除。
检查代码中是否在使用AppStorage.get
之前正确设置了值,并确保键名拼写正确。