1

在我的小部件中,女巫是一个StatefulWidget,我的逻辑检查一个令牌,在错误的情况下,我导航到我的主页。

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

WidgetsBinding.instance.addPostFrameCallback((_) {
    Navigator.pushNamed(context, '/');
});

但问题是即使我不再关注这个小部件,他仍然会在后台运行并在循环中进行重定向。

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

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

4

1 回答 1

0

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

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

于 2019-12-05T05:31:04.303 回答