例子
用静态常量来查找初始页
initialRoute: WelcomeScreen.id,
routes: {
WelcomeScreen.id: (context) => WelcomeScreen(),
'login_screen': (context) => LoginScreen(),
'registration_screen': (context) => RegistrationScreen(),
'chat_screen': (context) => ChatScreen(),
},
- 使用静态常量来查找初始页面
- 在类中的const修饰的常量需要用static修饰
原因:在创建类的多个对象时,用static修饰的常量在内存中只有一份拷贝。不用static修饰则可能有多份拷贝 . - 静态方法也可直接调用因为不是构造而来的了。
不用静态常量来查找初始页面
initialRoute: WelcomeScreen().id,//注意不同点在这
routes: {
WelcomeScreen().id: (context) => WelcomeScreen(),//注意不同点在这
'login_screen': (context) => LoginScreen(),
'registration_screen': (context) => RegistrationScreen(),
'chat_screen': (context) => ChatScreen(),
},
这样同样能找到页面但会构造整个WelcomeScreen类,这里面有许多是我们所不需要的。合理使用静态变量查找页面会大大提升效率。
这种id命名方式要比官方文档的反斜杠的方法清晰,以后就使用这种
initialRoute: WelcomeScreen.id,
routes: {
WelcomeScreen.id: (context) => WelcomeScreen(),
LoginScreen.id: (context) => LoginScreen(),
RegistrationScreen.id: (context) => RegistrationScreen(),
ChatScreen.id: (context) => ChatScreen(),
},