在空fluro上调用了方法'dependOnInheritedWidgetOfExactType'

时间:2020-03-26 11:52:29

标签: flutter flutter-navigation

我正在尝试为我的应用初始化Fluo导航,但是我总是会遇到此问题 方法'dependOnInheritedWidgetOfExactType'在null上被调用。和这个 相关的引起错误的小部件是: I /颤振(4553):MaterialApp 这是我的主要:

void main() {
  Application.router = Router();
  Application.configureRoutes();
  runApp(App());
}

和我的应用程序小部件:

class App extends StatefulWidget {
  @override
  _AppState createState() => _AppState();
}

    class _AppState extends State<App> {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          title: 'myApp',
          debugShowCheckedModeBanner: true,
          theme: ThemeData(
              primarySwatch: Colors.blue,
              primaryTextTheme: TextTheme(body1: TextStyle(letterSpacing: 0.9))),
          onGenerateRoute: Application.router.generator,
        );
      }
    }

并使用这些类来配置fluro:

class Application {
  static Router router;

  static void configureRoutes() {
    router.notFoundHandler = Handler(
        handlerFunc: (BuildContext context, Map<String, List<dynamic>> params) {
      print("ROUTE WAS NOT FOUND !!!");
      return Container(
        child: Center(
          child: Text("ROUTE WAS NOT FOUND !!!"),
        ),
      );
    });
    router.define(Routes.root,
        handler: Handlers.rootHandler, transitionType: TransitionType.native);
  }
}

这是路线:

class Routes {
  static String root = "/";
}

这是供处理程序使用的

class Handlers {
  static Handler rootHandler = Handler(
    handlerFunc: (BuildContext context, Map<String, List<dynamic>> params) {
      return Container(color: Colors.blue,);
    },
  );
}

我不知道这是哪里来的,我试图为MaterialApp添加密钥,但徒劳无功。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

我也遇到了这个问题。根据{{​​3}}

transitionType: TransitionType.native

这似乎是原因。就我而言,如果我删除了这部分,它会起作用。

答案 1 :(得分:1)

我刚刚遇到了这个问题,但就我而言,我确实需要使用transitionType,因为我希望将其作为transitionType: TransitionType.nativeModal

我要使其生效的解决方案只是将fluro降级为1.5.1版。