[英]Cant Do Navigator when clicking bottomNav Flutter
目前我正在添加访客模式功能,因此我正在开发的应用程序允许用户无需登录即可访问应用程序的某些功能(访客模式)。
当用户在底部导航上单击配置文件时,应用程序将执行 Intent 并完成(java)或 pushNamedAndRemoveUntil 但它崩溃了。
发生异常。 FlutterError (setState() 或 markNeedsBuild() 在构建期间调用。这个 _ModalScope 小部件无法标记为需要构建,因为框架已经在构建小部件的过程中。一个小部件只能在构建阶段标记为需要构建如果它的祖先之一当前正在构建。这个例外是允许的,因为框架先构建父窗口小部件,这意味着将始终构建脏后代。否则,框架可能不会在此构建阶段访问此窗口小部件。调用 setState() 或 markNeedsBuild() 为:_ModalScope-[LabeledGlobalKey<_ModalScopeState>#bfd49] 发出违规调用时当前正在构建的小部件是:MainPage)
Widget moveToLogin() {
Navigator.of(context)
.pushNamedAndRemoveUntil('/sign-in', (Route<dynamic> route) => false);
return Container(
child: Text("Logging in..."),
);
}
Widget body() {
switch (currentIndex) {
case 0:
return HomePage();
break;
case 1:
return ActivityPage();
break;
case 2:
return ShoppingPage();
break;
case 3:
return ChatPage();
break;
case 4:
if (user.nama_customer == "guest") {
return moveToLogin();
} else {
return ProfilePage();
}
break;
default:
return HomePage();
}
}
试试这个依赖。 这会帮助你..祝你好运
首先在 statefulWidget 上创建参数
我已经用客人 session 解决了这个问题。 这里的问题是因为使用“小部件”。 它应该是无效的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.