HarmonyOS 想要通过@State修饰的变量刷新@Builder方法内的UI,只能通过引用传递参数吗?

如题:HarmonyOS 想要通过@State修饰的变量刷新@Builder方法内的UI,只能通过引用传递参数吗?

阅读 516
1 个回答

目前自定义构建函数的参数传递有按值传递和按引用传递两种。

按引用传递参数时,传递的参数可为状态变量,且状态变量的改变会引起@Builder方法内的UI刷新。

调用@Builder装饰的函数默认按值传递。当传递的参数为状态变量时,状态变量的改变不会引起@Builder方法内的UI刷新。所以当使用状态变量的时候,推荐使用按引用传递。

参考 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-builder-V5\#%E8%A3%85%E9%A5%B0%E5%99%A8%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E