【问题标题】:Unhandled Exception: Stack Overflow , Flutter GetXController is being initialized for 2000 times未处理的异常:堆栈溢出,Flutter GetXController 正在初始化 2000 次
【发布时间】:2021-12-28 10:27:33
【问题描述】:

我只在主页上使用了一次 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(); 因为我需要访问控制器内部的一个变量。

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

【问题讨论】:

  • 你也可以分享你的trackLocation函数吗?

标签: flutter dart flutter-getx


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多