鸿蒙Next状态管理V2 - @Param装饰器总结

鸿蒙Next状态管理V2 - @Param装饰器总结

💡 原文中文,约9400字,阅读约需23分钟。
📝

内容提要

@Param装饰器增强了子组件接收外部参数的能力,支持父子组件数据同步和多种数据源。它允许本地初始化和单向同步,但不允许在子组件中修改。与V1版本相比,@Param简化了传值规则,适用于多种数据类型,提高了状态管理的灵活性和性能。

🎯

关键要点

  • 使用@Param装饰器增强子组件接收外部参数的能力,支持父子组件数据同步。
  • 从API version 12开始,在@ComponentV2装饰的自定义组件中支持@Param装饰器。
  • 支持本地初始化,但不允许在组件内部直接修改变量本身。
  • @Param支持多种数据源,包括普通变量、状态变量、常量、函数返回值等。
  • @Param装饰的变量变化时,会刷新关联的组件。
  • 与状态管理V1版本相比,@Param简化了传值规则,适用于多种数据类型。
  • 被装饰变量的初始值允许本地初始化,若不在本地初始化,则需和@Require装饰器一起使用。
  • 从父组件初始化@Param装饰的变量允许本地初始化,若无本地初始化则必须从外部传入初始化。
  • 基本类型可以观察来自数据源同步的变化,但类对象的属性变化需依赖@ObservedV2和@Trace装饰器。
  • 简单类型数组可以观察到数组整体或数组项的变化。
  • 嵌套类或对象数组@Param无法观察深层对象属性的变化。
  • 内置类型(Array、Date、Map、Set)可以观察整体赋值及相关接口调用带来的变化。
  • @Param装饰器只能在@ComponentV2装饰器的自定义组件中使用。
  • @Param装饰的变量在子组件中无法进行修改,但可修改对象类型变量的内部属性。
  • @Param支持null、undefined以及联合类型,提供更灵活的状态管理机制。
➡️

继续阅读