如何解决Flutter构建函数返回null
我正在尝试根据authStatus导航到我的主页或登录页面。使用Navigator.of(context)...时,它在构建方法上返回null持续一秒钟,然后屏幕刷新并成功导航到给定页面。我对移动开发和开发并不熟悉。任何线索都会有所帮助!谢谢。
代码如下:
@override
Widget build(BuildContext context) {
switch (authStatus) {
case AuthStatus.NOT_LOGGED_IN:
WidgetsBinding.instance.addPostFrameCallback((_) {
{
Navigator.push(
context,MaterialPageRoute(
builder: (context) => LoginSignUpPage(
auth: widget.auth,onSignedIn: _onLoggedIn,params: widget.params,)),);
}
});
break;
case AuthStatus.LOGGED_IN:
if (_userId.length > 0 && _userId != null) {
WidgetsBinding.instance.addPostFrameCallback((_) {
Navigator.push(
context,MaterialPageRoute(
builder: (context) => HomePage(
userId: _userId,auth: widget.auth,onSignedOut: _onSignedOut,);
});
} else
return widget.waitingScreen;
break;
default:
return widget.waitingScreen;
}
这是错误:
构建函数返回null。 令人讨厌的小部件是: 根页 构建函数绝不能返回null。 要返回导致建筑物小部件填充可用空间的空白区域,请返回 “容器()”。要返回占用尽可能少空间的空白空间,请返回 “容器(宽度:0.0,高度:0.0)”。
解决方法
在WidgetsBinding之后的代码行上,添加
return Container();
您还可以添加颜色参数以匹配您的设计。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。