我有一个抽屉,可以像这样在所有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()方法。
我做错了什么?
我如何在应用程序中管理登录/注销,或者导航器堆栈有什么用?
致谢!
答案 0 :(得分:0)
如果您在类中添加了 MaterialApp ,请将其删除并将其放入 runApp ,例如
runApp(
new MaterialApp(
home: new MyApp()
));