Flutter:MaterialPageRoute 路由“/”的构建器返回 null

Flutter: MaterialPageRoute The builder for route "/" returned null

我刚开始学习 flutter 并决定学习教程。视频说我必须在路由工厂中使用 MaterialPageRoute,并为我的路由声明全局常量,但我收到了这个错误

    The following assertion was thrown building Builder(dirty):
The builder for route "/" returned null.

这是我的代码

import 'package:flutter/material.dart';
import 'package:layout_in_flutter/screens/location_detail/location_detail.dart';
import 'screens/locations/locations.dart';
import 'style.dart';

void main() {
  runApp(App());
}

const LocationsRoute = '/';
const LocationDetailRoute = '/location_detail';

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      onGenerateRoute: _routes(),
      theme: _theme(),
    );
  }

  RouteFactory _routes() {
    return (settings) {
      final Map<String, dynamic> arguments = settings.arguments;
      Widget screen;
      switch (settings.name) {
        case LocationsRoute:
          screen = Locations();
          break;
        case LocationDetailRoute:
          screen = LocationDetail(arguments['id']);
          break;
        default:
          return null;
      }
      return MaterialPageRoute(builder: (BuildContext context) => screen);
    };
  }

  ThemeData _theme() {
    return ThemeData(
      appBarTheme: AppBarTheme(
        textTheme: TextTheme(
          headline6: AppBarTextStyle,
        ),
      ),
      textTheme: TextTheme(
        headline6: Headline6TextStyle,
        bodyText2: BodyText2Style,
      ),
    );
  }
}

提前致谢

好吧,天哪,我现在好尴尬 问题是因为我将整个代码放在 main.dart 上,当我将整个代码分离到另一个新文件时,它可以工作。谢谢