【问题标题】:How do I observe a value change in a GetxController class and trigger navigation in the statelessWidget class using GetX in Flutter?如何在 Flutter 中使用 GetX 观察 GetxController 类中的值变化并触发 statelessWidget 类中的导航?
【发布时间】:2021-12-26 10:07:44
【问题描述】:

我需要在异步任务中接收数据,然后根据回复决定是否导航到下一页。

但据我所知,GetX 中的状态管理支持在 GetxController 中使用 .obsobx() 更改值时重建小部件。

如何观察值变化然后触发导航?

【问题讨论】:

    标签: flutter flutter-getx


    【解决方案1】:

    事实证明,从 GetxController 类继承的简单 ever<T> 方法可以解决问题。

    事实证明,您不应该将providerget_itget_x 混合在一起。带来很多不必要的痛苦,这将导致get_x 中的某些功能无法正常工作。

    【讨论】:

      【解决方案2】:

      您可以在您的异步方法中导航,甚至可以在您的完整调用方法中导航。

      假设您调用异步方法并使用 dot then 方法,您可以将响应值放入变量中,并且可以对其设置条件,无论它是否应该导航。

      Future<int> getData()async{
      print('Asynce Method');
      return 1;
      }
      getData().then((result){
      print(result);
      if(result == 1){
      //       Navigate here
      }
      else{
      //       Don't Navigate
      }
      });
      

      【讨论】:

      • 我最后使用ever&lt;T&gt;方法来实现。不过感谢分享。
      猜你喜欢
      • 2023-02-15
      • 2021-09-19
      • 1970-01-01
      • 2021-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      相关资源
      最近更新 更多