我应该在哪里使用GetBuilder、GetX或Obx?我在网上看到了一些答案。但你能解释一下吗当我想从firebase集合中读取数据时,我应该使用哪一个?
vxqlmq5t1#
简单地说:
GetBuilder
update()
Obx
.obs
Getx
但是要小心使用它们,因为基于文档,Getbuilder消耗的资源更少,所以性能更好,而Obx基于流,所以消耗的资源更多。可以从official docs了解更多信息
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是更好的选择。
2条答案
按热度按时间vxqlmq5t1#
简单地说:
GetBuilder
当你想从你的控制器手动更新一个窗口小部件的状态时,使用update()
,Obx
,当你想根据一个可观察变量.obs
的值来更新一个小部件时,所以每当你改变它的值时,Obx
就会在你的应用程序中自动更新。Getx
,你可以把它想象成GetBuilder
,但带有Obx观察但是要小心使用它们,因为基于文档,Getbuilder消耗的资源更少,所以性能更好,而
Obx
基于流,所以消耗的资源更多。可以从official docs了解更多信息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是更好的选择。