繁体   English   中英

Flutter 构建函数返回 null

[英]Flutter build function returns null

我正在尝试根据 authStatus 导航到我的主页或登录页面。 在使用 Navigator.of(context)... 时,它会在 build 方法上返回 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,
                        params: widget.params,
                      )),
            );
          });
        } else
          return widget.waitingScreen;
        break;
      default:
        return widget.waitingScreen;
    }

这是错误:

构建函数返回 null。 有问题的小部件是:RootPage 构建函数绝不能返回 null。 要返回导致建筑小部件填充可用空间的空白空间,请返回“Container()”。 要返回占用尽可能少空间的空白空间,请返回“Container(width: 0.0, height: 0.0)”。

在 WidgetsBinding 后面的代码行上,添加

return Container();

您还可以包含一个颜色参数以匹配您的设计。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM