簡體   English   中英

擴展 GetView 時如何訪問 View Lifecycle<T>

[英]How to access View Lifecycle when extending GetView<T>

當一個視圖繼承 GetView 時,它基本上是一個帶有名為“controller”的附加變量的 StatelessWidget,這是我們訪問 GetXController 內任何內容的入口點。 問題是,我無法像在 Kotlin android 中那樣控制視圖生命周期,例如 onCreate、onStart、onResume、onPause、onDestroy 等。 當繼承作為 StatelessWidget 的 GetView 時,我可以將有狀態的小部件與 GetXController 一起使用嗎?那會是我的應用程序中的一個時間點,有一天它會導致問題或性能問題嗎?

GetxController擁有你想要的所有生命周期功能,只需創建一個並放入。因為 getx 拆分了您的視圖和邏輯代碼,所有生命周期功能都會放入控制器中。

如您所見, GetxController代碼中有GetLifeCycleMixin

嘗試使用它,你也不需要有狀態的生命周期,無狀態的 getview 就足夠了

所以嘗試調用SuperControllerFullLifeCycleController

import 'package:get/get.dart';

class ControllerLifeCycle1 extends SuperController{
  @override
  void onDetached() {
    // TODO: implement onDetached
  }
  @override
  void onInactive() {
    // TODO: implement onInactive
  }
  @override
  void onPaused() {
    // TODO: implement onPaused
  }

  @override
  void onResumed() {
    // TODO: implement onResumed
  }
}

class ControllerLifeCycle2 extends FullLifeCycleController  with FullLifeCycleMixin{
  @override
  void onDetached() {
    // TODO: implement onDetached
  }

  @override
  void onInactive() {
    // TODO: implement onInactive
  }
  @override
  void onPaused() {
    // TODO: implement onPaused
  }
  @override
  void onResumed() {
    // TODO: implement onResumed
  }

}

試試這兩個,哪個對你有用,他們也有 onDelete onClose onReady

例如,雖然它可能已經過時,但只是嘗試在我上面給出的參考。

// 我也在尋找生命周期,並根據示例偶然發現這個,例如 gist.github.com/eduardoflorence/d918d05ad71175b52c2aca95588c305d

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM