dart 在Flutter中使用getbuilder、Obx还是Getx的情况

disho6za  于 2023-06-03  发布在  Flutter
关注(0)|答案(2)|浏览(793)

我应该在哪里使用GetBuilder、GetX或Obx?我在网上看到了一些答案。但你能解释一下吗当我想从firebase集合中读取数据时,我应该使用哪一个?

vxqlmq5t

vxqlmq5t1#

简单地说:

  • 使用GetBuilder当你想从你的控制器手动更新一个窗口小部件的状态时,使用update()
  • 使用Obx,当你想根据一个可观察变量.obs的值来更新一个小部件时,所以每当你改变它的值时,Obx就会在你的应用程序中自动更新。
  • 当你想自动更新一个id为例的特定Widget时,可以使用Getx,你可以把它想象成GetBuilder,但带有Obx观察

但是要小心使用它们,因为基于文档,Getbuilder消耗的资源更少,所以性能更好,而Obx基于流,所以消耗的资源更多。可以从official docs了解更多信息

31moq8wy

31moq8wy2#

在Flutter应用开发过程中,您可以在不同的情况下使用GetBuilder、GetX或Obx:

GetBuilder:当您只想根据特定的状态更改更新小部件视图的一小部分时,可以使用GetBuilder。例如,如果您在一个控制器中管理多个状态,并且只想更新依赖于这些状态的几个小部件,则可以使用GetBuilder构建这些特定的小部件。
GetX:GetX结合了GetBuilder和Obx的特性,以及GetX提供的其他功能。当您希望观察状态变化并自动更新依赖于它们的小部件时,可以使用GetX。GetX的性能更好,因为它只更新必要的小部件。
Obx:Obx代表Observer Widget。当您希望更新与观察状态关联的所有小部件时,可以使用Obx。Obx将在观察到的状态发生变化时自动重建小部件。当您有多个依赖于多个状态的小部件,并且您希望确保所有这些小部件始终根据状态更改进行更新时,这很有用。

GetBuilder、GetX或Obx之间的选择取决于您的需求和应用程序的复杂性。如果您只需要更新小部件的一小部分,GetBuilder是一个不错的选择。如果你想根据状态变化自动更新小部件,GetX或Obx是更好的选择。

相关问题