Flutter中分配routeNames的最佳实践是什么?

3

从Django转过来后,Flutter推荐的路由命名方式(例如 https://flutter.dev/docs/cookbook/navigation/named-routes)以 / 开头而不以 / 结尾,在我看来有点奇怪。

只要所有路由名称都以 / 开头且不以 / 结尾,就可以像Django一样具有相同的逻辑,能够轻松地将一个路径添加到另一个路径中。

所以,我很好奇:

在Flutter中使用像Django那样的路由名称('/', 'main/', 'main/deeper/'),是否存在缺点?

当前最佳实践是什么?

你更喜欢哪种命名风格,为什么?

1个回答

0
我建议你给包含视图的每个类分配一个常量静态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();
  }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接