Я написал следующие логи маршрутизации c для моего приложения Flutter, что, насколько я знаю, имеет смысл. Более того, я скопировал его из учебников Filled Stacks , известного разработчика.
class Router {
static Route<dynamic> generateRoute(RouteSettings settings) {
switch (settings.name) {
case '/':
return MaterialPageRoute(builder: (_) => HomeView());
case 'compartment':
int compartmentId = settings.arguments as int;
return MaterialPageRoute(
builder: (_) => CompartmentView(id: compartmentId));
case 'newCompartment':
return MaterialPageRoute(
builder: (_) => EditCompartmentView(isEditing: false));
case 'editCompartment':
var compartment = settings.arguments as Compartment;
return MaterialPageRoute(
builder: (_) =>
EditCompartmentView(compartment: compartment, isEditing: true));
default:
return MaterialPageRoute(builder: (_) {
return Scaffold(
body: Center(
child: Text('No existe una ruta definida para ${settings.name}'),
),
);
});
}
}
}
Я использую его следующим образом из моей точки входа:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Permafrost',
theme: ThemeData(
primarySwatch: Colors.indigo,
),
initialRoute: '/',
onGenerateRoute: Router.generateRoute,
);
}
}
По какой-то причине, когда я запускаю приложение, экран черный. Нет сообщений об ошибках в консоли. После горячей перезагрузки приложения все работает, как и ожидалось. Есть что-то, что я не принимаю во внимание?