HarmonyOS 为什么通过JSON.parse或axios网络请求的数据修改属性值UI不刷新

@State装饰的数组变量通过JSON.parse或axios网络请求赋值修改子项属性值界面不刷新,我直接通过new创建赋值修改子项属性值界面又能刷新,这是为什么? 我看论坛说使用class-transformer,但是结果有嵌套子项,嵌套子项也要通过class-transformer处理才行,请问有什么好的通用处理方法吗?

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

在使用@State装饰的数组变量时,如果通过JSON.parse或axios网络请求赋值修改子项属性值,界面不刷新可能是因为JavaScript中无法检测对象属性的增加或者移除。因此,需要确保初始化数组的时候,数组元素中的每个属性都添加进去。如果直接通过new创建赋值修改子项属性值能够刷新界面,那么可能是因为这种方式不涉及响应式绑定,可以绕过@State装饰导致的问题。解决方法是在初始化数组时确保所有需要监听的属性都存在并添加为状态变量。

分享
微博
QQ
微信
回复
1天前
相关问题
修改ForEach使用数据对象,UI刷新
1901浏览 • 1回复 待解决
HarmonyOS JSON.parse 返回类型问题
501浏览 • 1回复 待解决
JSON.parse数据处理导致精度丢失问题
502浏览 • 1回复 待解决
HarmonyOS 下面demo为什么点击刷新
346浏览 • 1回复 待解决
HarmonyOS UI刷新
51浏览 • 1回复 待解决
基于@ohos/axios网络请求能力
538浏览 • 1回复 待解决
HarmonyOS @builder方法ui刷新
102浏览 • 1回复 待解决