当一个视图继承GetView时,它基本上是一个带有额外变量“控制器”的StatelessWidget,它是我们访问GetXController中任何内容的入口点。问题是,在继承onCreate、onStart、onResume、onPause、onDestroy等作为StatelessWidget的GetView时,我无法像在Kotlin中那样控制视图生命周期,我是否可以与GetXController一起使用有状态的小部件?在我的应用程序中,有一天它会导致问题或性能问题吗?
发布于 2022-05-11 09:44:04
GetxController
拥有您想要的所有生命周期函数,只需创建一个并放入其中。由于getx分裂了您的视图和逻辑代码,所有的生命周期函数都将放入控制器中。
如您所见,GetxController在那里有GetLifeCycleMixin代码。
发布于 2022-05-11 09:45:55
尝试使用此方法,您也不需要状态,因为在getview的生命周期中,无状态就足够了
所以,尝试调用SuperController或FullLifeCycleController
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
https://stackoverflow.com/questions/72198673
复制相似问题