未处理的异常:Stack Overflow,Flutter GetXController 被初始化 2000 次

Unhandled Exception: Stack Overflow , Flutter GetXController is being initialized for 2000 times

我只将 GetXController 放在主页上一次:

class NewOrdersList extends StatelessWidget {

  final OrdersController ordersC = Get.put(OrdersController());
...

然后每当我需要控制器时,我只需使用

  OrdersController ordersC = Get.find();

和控制器本身:

  @override
  void onInit() {
    trackLocation();
    super.onInit();
  }

在函数的末尾trackLocation();我使用OrdersController ordersC = Get.find();因为我需要访问控制器内部的一个变量。

但是当你启动应用程序时,我看到控制器已经初始化了数千次。

如果您在同一个 class 中使用控制器,则无需每次都写 Get.find()。如果您需要在其他 class 中访问您的 OrderController's 实例,那么并且只有这样您才能使用 Get.find。并且不要在 trackLocation() 之后写 OrderController ordersC = Get.find()。因为一旦你初始化你的控制器(放置或查找),你就可以从它访问所有变量。永远不要在代码中多次初始化控制器。