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

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

阅读 745
1 个回答

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