来自Django,Flutter推荐的设置路由名称的方式,(例如https://flutter.dev/docs/cookbook/navigation/named-routes)像"/"main";,以/开头而不以/结尾对我来说有点奇怪。只要所有路由名称都以/开头,以/结尾,就有可能具有与django相同的逻辑,从而能够毫无问题地将一条路径添加到另一条路径。
所以,我很好奇:
在Flutter中使用routenames的django('/','main/','main/devert/'(方式有缺点吗?
目前的最佳实践是什么?
你喜欢哪种命名方式,为什么?
我建议您为包含视图的每个类分配一个常量静态id,这样您就可以使用Navigator.of(context).pushNamed(MyHomePage.id)
在任何地方调用它,并且可以在一个地方修改它。
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
initialRoute: MyHomePage.id,
routes: {
MyHomePage.id : (context) => MyHomePage(),
// other routes
},
);
}
}
class MyHomePage extends StatefulWidget {
static const String id = "homeScreen"; // Change this
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Container();
}
}