状态管理V1与V2的混用

99 阅读1分钟

developer.huawei.com/consumer/cn…

V1 或 V2 中未被装饰器装饰的变量(后称普通变量)

V1 或 V2 中被装饰器装饰的变量(后称状态变量)

V1 组件和 V1 组件间存在变量传递时 (可以理解为没有限制):

    父 普通变量, 子 V1 可以 普通变量 或者 状态变量接收

    父 状态变量, 子 V1 可以 普通变量 或者 状态变量接收

V2 组件和 V2 组件间存在变量传递时(待验证):

    父 普通变量, 子 V1 可以 普通变量 或者 状态变量接收

    父 状态变量, 子 V1 可以 普通变量 或者 状态变量接收

V1 组件和 V2 组件间存在变量传递时:

    父V1 普通变量, 子 V2 只能使用@Param接收

    父V1 状态变量, 子 V2 只能通过@Param装饰器接收,且仅限于boolean、number、enum、string、undefined、null这些简单类型数据

    父V2 普通变量, 子 V1 , 若V1使用装饰器装饰接收的数据,只能通过@State、@Prop、@Provide, 若不使用装饰器修饰的变量接收则无限制。

    父V2 状态变量, 子 V1 ,若V1使用装饰器装饰接收的数据,不支持内置类型数据:Array、Set、Map、Date,若不使用装饰器修饰的变量接收则无限制。