在我的小部件中,女巫是一个StatefulWidget,我的逻辑检查一个 token ,在错误情况下,我导航到我的主页。
我正在等待小部件使用此方法完成构建:
WidgetsBinding.instance.addPostFrameCallback((_) {
Navigator.pushNamed(context, '/');
});
但问题是,即使我不再关注这个小部件,他仍然会在后台运行并在循环中进行重定向。
按照我的逻辑,如果我的 accesToken 已过期,我将使用 setState 一次。之后小部件重建,我检查新 token 发送我的服务器,如果他是空的,我将我的用户重定向到主页。我认为问题出在 setState 上。
那么,有没有办法在离开后杀死或处置这个小部件?或者可能是其他导航方式?
最佳答案
所以我要回答我自己的问题,经过几次测试我找到了解决方案。
我可以使用 Navigator.popAndPushNamed(context, '/')); 代替 pushNamed 来打破循环,它会从导航器中弹出路线等当父级重建时,小部件将停止在后台运行。
关于android - Flutter:重定向后在循环中调用 StatefulWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59134254/