首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在扩展GetView<T>时访问视图生命周期

如何在扩展GetView<T>时访问视图生命周期
EN

Stack Overflow用户
提问于 2022-05-11 09:32:32
回答 2查看 654关注 0票数 0

当一个视图继承GetView时,它基本上是一个带有额外变量“控制器”的StatelessWidget,它是我们访问GetXController中任何内容的入口点。问题是,在继承onCreate、onStart、onResume、onPause、onDestroy等作为StatelessWidget的GetView时,我无法像在Kotlin中那样控制视图生命周期,我是否可以与GetXController一起使用有状态的小部件?在我的应用程序中,有一天它会导致问题或性能问题吗?

EN

回答 2

Stack Overflow用户

发布于 2022-05-11 09:44:04

GetxController拥有您想要的所有生命周期函数,只需创建一个并放入其中。由于getx分裂了您的视图和逻辑代码,所有的生命周期函数都将放入控制器中。

如您所见,GetxController在那里有GetLifeCycleMixin代码。

票数 1
EN

Stack Overflow用户

发布于 2022-05-11 09:45:55

尝试使用此方法,您也不需要状态,因为在getview的生命周期中,无状态就足够了

所以,尝试调用SuperControllerFullLifeCycleController

代码语言:javascript
运行
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72198673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档