Android 颤振:重定向后在循环中调用StatefulWidget

Android 颤振:重定向后在循环中调用StatefulWidget,android,flutter,navigation,statefulwidget,Android,Flutter,Navigation,Statefulwidget,在我的widget witch是一个StatefulWidget中,我的逻辑检查一个令牌,如果出现错误,我导航到我的主页 我正在使用以下方法等待小部件完成构建: WidgetsBinding.instance.addPostFrameCallback((_) { Navigator.pushNamed(context, '/'); }); 但问题是,即使我不再关注这个小部件,他仍然会在后台运行,并在循环中重定向 在我的逻辑中,如果accesToken过期,我会使用setState一次。

在我的widget witch是一个StatefulWidget中,我的逻辑检查一个令牌,如果出现错误,我导航到我的主页

我正在使用以下方法等待小部件完成构建:

WidgetsBinding.instance.addPostFrameCallback((_) {
    Navigator.pushNamed(context, '/');
});
但问题是,即使我不再关注这个小部件,他仍然会在后台运行,并在循环中重定向

在我的逻辑中,如果accesToken过期,我会使用setState一次。之后,小部件重建,我用新的令牌检查发送我的服务器,如果他是空的,我将用户重定向到主页。我认为问题来自于国家


那么,有没有办法在离开后杀死或处理这个小部件?或者另一种导航方式?

所以我要回答我自己的问题,经过几次测试,我找到了解决方案


我可以使用Navigator.popandpushname(context,“/”)打破循环而不是点击命名,它将弹出导航器上的路线,因此当父项重建时,小部件将停止在后台运行。

因此我将回答我自己的问题,经过几次测试,我找到了解决方案

我可以使用Navigator.popandpushname(context,“/”)打破循环而不是pushNamed,它将从导航器中弹出路线,因此当重建父项时,小部件将停止在后台运行