android - Flutter:重定向后在循环中调用 StatefulWidget

标签 android flutter navigation statefulwidget

在我的小部件中,女巫是一个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/

相关文章:

jquery - 单击正文时折叠导航菜单

html - 固定顶部导航太低

flutter - Flutter导航重新呈现历史记录堆栈页面中的所有页面

android - 我怎样才能用加速度计传感器移动一个圆圈?

java - NavigationDrawer 内的 RecyclerView 不滚动

java - Android System.err : javax.net.ssl.SSLHandshakeException:握手失败

java - 如何通过单击增加数组位置的按钮来在 textView 上的数组中设置文本

Flutter Custom Painter 在点击/滚动时消失

firebase - 在 flutter 中使用 REST api 将列表数据发送到云 firestore 时出错

Flutter StreamBuilder 与 FutureBuilder