在我的第一次代码审查(前一段时间)中,我被告知在所有switch语句中包含一个default子句是一种好习惯.我最近记得这个建议,但不记得理由是什么.这对我来说听起来很奇怪.
总是包含默认声明是否有合理的理由?
这种语言是依赖的吗?我不记得当时我用的是什么语言 - 也许这适用于某些语言而不适用于其他语言?
我正在尝试在onTap中启动一个新屏幕,但是我收到以下错误:
请求导航器操作的上下文不包含导航器.
我用来导航的代码是:
onTap: () { Navigator.of(context).pushNamed('/settings'); },
Run Code Online (Sandbox Code Playgroud)
我在我的应用程序中设置了一条路线,如下所示:
routes: <String, WidgetBuilder>{
'/settings': (BuildContext context) => new SettingsPage(),
},
Run Code Online (Sandbox Code Playgroud)
我试图使用stocks示例应用程序复制代码.我查看了Navigator和Route文档,但无法弄清楚如何将上下文包含在Navigator中.的context在使用的onTap感从传递到构建方法中的参数引用:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
Run Code Online (Sandbox Code Playgroud)
SettingsPage是一个类,如下所示:
class SettingsPage extends Navigator {
Widget buildAppBar(BuildContext context) {
return new AppBar(
title: const Text('Settings')
);
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: buildAppBar(context),
);
}
}
Run Code Online (Sandbox Code Playgroud)