首页 > 解决方案 > HeroControllerScope:断言失败:'_navigator!= null':不正确

问题描述

每当我尝试构建我的应用程序时,我都会收到以下错误和应用程序崩溃。模拟器屏幕显示以下内容:

'package:flutter/src/widgets/app.dart':断言失败:第 1168 行 pos 14:'_navigator != null':不正确

在调试窗口中,我看到:

构建 HeroControllerScope 时抛出了以下断言:'package:flutter/src/widgets/app.dart':断言失败:第 1168 行 pos 14:'_navigator != null':不正确。

断言表明框架本身存在错误,或者我们应该在此错误消息中提供更多信息,以帮助您确定和修复根本原因。无论哪种情况,请通过在 GitHub 上提交错误报告此断言: https ://github.com/flutter/flutter/issues/new?template=2_bug.md

堆栈跟踪是

The relevant error-causing widget was:    MaterialApp file:///home/user/StudioProjects/assistant/lib/app.dart:89:18 
When the exception was thrown, this was the stack: 
#2      _WidgetsAppState._updateRouting (package:flutter/src/widgets/app.dart:1168:14)
#3      _WidgetsAppState.didUpdateWidget (package:flutter/src/widgets/app.dart:1136:5)
#4      StatefulElement.update (package:flutter/src/widgets/framework.dart:4682:57)
#5      Element.updateChild (package:flutter/src/widgets/framework.dart:3293:15)
#6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4520:16)

错误代码如下:

@override
  Widget build(BuildContext context) {
    return FutureBuilder(
      // Initialize FlutterFire:
      future: _initialization,
      builder: (context, snapshot) {
        // Check for errors
        if (snapshot.hasError) {
          print(snapshot.error);
          return somethingWentWrong(snapshot);
        }

        // Once complete, show your application
        if (snapshot.connectionState == ConnectionState.done) {
          return MaterialApp(
            debugShowCheckedModeBanner: false,
            title: " Assistant App".toUpperCase(),
            theme: _Theme,
            routes: <String, WidgetBuilder>{
              "/": (BuildContext context) => RootPage(auth: Auth()),
              "/home": (BuildContext context) =>
                  MyHomePage(title: "Home"),
              "/login": (BuildContext context) => Login(title: "Sign In"),
              "/signup": (BuildContext context) =>
                  SignupScreen(title: "Sign Up".toUpperCase())
            },
            initialRoute: "/", //new rootpage.RootPage(auth: Auth())
          );
        }

        // Otherwise, show something whilst waiting for initialization to complete
        return buildWaitingScreen();
      },
    );
  }

谁能帮我理解这里出了什么问题?

标签: flutterflutter-navigation

解决方案


推荐阅读