鸿蒙HarmonyOS状态管理组件吐槽

吐槽一下鸿蒙系统设计的状态管理组件

一. 定义和作用

状态管理组件其本质作用用来修饰状态变量,这样可以观察到变量在组件内的改变,还可以在不同组件层级间传递,其设计初衷挺好。在声明式UI编程框架中,UI是程序状态的运行结果,这套状态管理机制最重要的作用就是提供运行时的状态变化所带来的UI的重新渲染。

二.状态管理装饰器

V1

组件拥有的状态
  • @State装饰器:组件内状态
  • @Prop装饰器:父子单向同步
  • @Link装饰器:父子双向同步
  • @Provide装饰器和@Consume装饰器:与后代组件双向同步
  • @Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化
应用拥有的状态
  • LocalStorage:页面级UI状态存储
  • AppStorage:应用全局的UI状态存储
  • PersistentStorage:持久化存储UI状态
  • Environment:设备环境查询

问题来了,现在又出来个V2


V2

组件拥有的状态
  • @ObservedV2装饰器和@Trace装饰器:类属性变化观测
  • @ComponentV2装饰器:自定义组件
  • @Local装饰器:组件内部状态
  • @Param:组件外部输入
  • @Once:初始化同步一次
  • @Event装饰器:规范组件输出
  • @Provider装饰器和@Consumer装饰器:跨组件层级双向同步
  • @Monitor装饰器:状态变量修改监听
  • @Computed装饰器:计算属性
  • @Type装饰器:标记类属性的类型
其他状态管理
  • AppStorageV2: 应用全局UI状态存储
  • PersistenceV2: 持久化储存UI状态
  • !!语法:双向绑定
  • 自定义组件冻结功能
  • Repeat:子组件复用
  • getTarget接口:获取状态管理框架代理前的原始对象
  • makeObserved接口:将非观察数据变为可观察数据

三.吐槽

看到这么多状态是不是懵逼了,来看看官方如何解释这个V2。

通俗讲就是V1的plus版本,然后对于之前项目用的V1,是否能混用V2,官方也很贴心的给出了说明:

4条指引,通俗讲就是建议大家赶紧切换V2,功能更强大,最重要是后面有可能V1不能用了,同样的话语是不是很熟悉,作为一个系统最核心的状态API管理机制,这种翻篇的改变机制感觉很不成熟,保不齐后面再出现个V3、V4...

核心吐槽点:一个优秀的系统或者平台,最重要的是什么:通用性,稳定性,扩展性,但是至少目前从鸿蒙上面没看出来,感觉整个系统架构一开始就没有一个大的架构设计,从而导致后面不断地修改补丁,很多API中途加上,后面莫名其妙的就废弃了,没有一点严谨性,说不用就不用,感觉很随意,但坑的都是生态建设者,重复适配不严谨的轮子,这不是一个好现象,本身生态就不好,现在好不容易慢慢做起来了,应该重视生态建设,包括用户和开发者,否则这样下去,很容易形成空中楼阁,不敢往深处扒。
相关推荐
AlbertZein8 小时前
HarmonyOS一杯冰美式的时间 -- @Env
harmonyos
以太浮标13 小时前
华为eNSP模拟器综合实验之-BFD联动配置解析
运维·网络·华为·信息与通信
小雨青年13 小时前
鸿蒙 HarmonyOS 6 | ArkUI (05):布局进阶 RelativeContainer 相对布局与 Flex 弹性布局
华为·harmonyos
特立独行的猫a17 小时前
鸿蒙PC三方库编译libiconv链接报错,解决 libtool 链接参数丢失问题过程总结
harmonyos·交叉编译·libiconv·三方库·鸿蒙pc·libtool
哈__17 小时前
Flutter 开发鸿蒙 PC 第一个应用:窗口创建 + 大屏布局
flutter·华为·harmonyos
特立独行的猫a17 小时前
鸿蒙PC命令行及三方库libiconv移植:鸿蒙PC生态的字符编码基石
harmonyos·交叉编译·libiconv·三方库移植·鸿蒙pc
以太浮标20 小时前
华为eNSP模拟器综合实验之- PPP协议解析及配置案例
运维·网络·华为·信息与通信
不爱学英文的码字机器21 小时前
【鸿蒙PC命令行适配】基于OHOS SDK直接构建xz命令集(xz、xzgrep、xzdiff),完善tar.xz解压能力
华为·harmonyos
特立独行的猫a1 天前
[鸿蒙PC命令行程序移植实战]:交叉编译移植最新openSSL 4.0.0到鸿蒙PC
华为·harmonyos·移植·openssl·交叉编译·鸿蒙pc
特立独行的猫a1 天前
[鸿蒙PC命令行适配] 移植Aria2文件下载神器最新版到鸿蒙PC的完整教程 (附可运行程序)
harmonyos·移植·交叉编译·aria2·鸿蒙pc