颤振中的导航器错误(抽屉按钮注销)

时间:2018-06-29 12:29:18

标签: dart flutter

我有一个抽屉,可以像这样在所有StatefulWidget中共享

@override
Widget build(BuildContext context) {
return new Scaffold(
key: _scaffoldKey,
drawer: SharedDrawer()
... //More code

在抽屉中,我放置了一个LogOut按钮,该按钮将用户重定向到登录页面,从而像这样清理所有路由器堆栈。

Navigator.of(context).pop();
Navigator.of(context).pushNamedAndRemoveUntil('/', (Route<dynamic> route) => false);

但是当我尝试再次登录该应用程序时,会出现此错误。

  

颤振:查找已停用的窗口小部件的祖先是不安全的。在这   指出小部件的元素树的状态不再稳定。至   安全地在其dispose()方法中引用小部件的祖先,保存一个   通过调用inheritFromWidgetOfExactType()对祖先的引用   小部件的didChangeDependencies()方法。

我做错了什么?

我如何在应用程序中管理登录/注销,或者导航器堆栈有什么用?

致谢!

1 个答案:

答案 0 :(得分:0)

如果您在类中添加了 MaterialApp ,请将其删除并将其放入 runApp ,例如

runApp( new MaterialApp( home: new MyApp() ));