gpt4 book ai didi

flutter - 如何在 Flutter 中加载时导航到另一个页面

转载 作者:IT王子 更新时间:2023-10-29 06:33:39 27 4
gpt4 key购买 nike

如果没有登录用户,我想导航到登录页面,否则显示主页。我想在构建方法中有条件地调用 Navigator.of(context).push() 但这会触发异常。有没有我可以覆盖的方法?

更新以添加主页小部件

class HomePage extends StatelessWidget {
final AppUser user;

const HomePage({Key key, this.user}) : super(key: key);

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Rera Farm'),
actions: <Widget>[
PopupMenuButton(
itemBuilder: (BuildContext context) {
return <PopupMenuEntry>[
PopupMenuItem(
child: ListTile(
title: Text('Settings'),
onTap: () {
Navigator.pop(context);
Navigator.push(context,
MaterialPageRoute(builder: (BuildContext context)
=> SettingsPage()
));
},
),
),
];
},
)
],
),
body: _buildBody(context));
}

和容器

class HomePageContainer extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new StoreConnector<AppState, _ViewModel>(
converter: _ViewModel.fromStore,
builder: (BuildContext context, _ViewModel vm) {
return HomePage(
user: vm.user,
);
},
);
}
}

最佳答案

如果您正在使用设置按钮,则需要在 onTap 中使用三元组,或者如果您只是希望它在应用程序启动时自动将用户发送到正确的页面,则可以将三元组放在 MyApp 中构建方法。

如果您正在使用设置按钮,并且只是希望它在用户未登录时弹出回到上一页,那么您可以将 NotLoggedIn() 更改为弹出。

由于某些奇怪的原因,SO 拒绝发布正确格式化为四个空格的代码,完全按照它的要求,所以我只是要点。

https://gist.github.com/ScottS2017/3288c7e7e9a014430e56dd6be4c259ab

关于flutter - 如何在 Flutter 中加载时导航到另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53491536/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com