【发布时间】:2022-11-30 05:21:59
【问题描述】:
嘿,我想知道使用“.obs”来制作这样的小部件是否合适:
var name= Text("foo").obs;
return name.value;
【问题讨论】:
标签: flutter-getx
嘿,我想知道使用“.obs”来制作这样的小部件是否合适:
var name= Text("foo").obs;
return name.value;
【问题讨论】:
标签: flutter-getx
在整个小部件上使用 .obs,如下所示:
Rx<Widget> textWidget = Text("test").obs;
会工作正常,因为你可以在这个例子中尝试:
// ...
child: Obx(
() => controller.textWidget.value,
),
每次你给它分配一个value,它都会更新,但这会导致非常不必要地重新创建那个Text小部件,因为每次都会在你的用户界面中设置一个新的Text小部件,这可能会导致性能问题。
相反,您应该将基本类型声明为 Rx observes,然后在您的 UI 小部件中分配它们:
final textVal = "test".ons;
child: Obx(
() => Text(controller.textVal.value),
),
【讨论】: