我正在尝试开发与扑动的深度链接,文档说
'如果你想实现深度链接,或者利用多个导航器,请查看2.0版本。
所以我看了这篇论文来更好地理解这种方法
https://medium.com/flutter/learning-flutters-new-navigation-and-routing-system-7c9068155ade
但是我意识到我们必须使用
MaterialApp.router(
title: 'Books App',
routerDelegate: _routerDelegate,
routeInformationParser: _routeInformationParser,
);
在我的代码
MaterialApp(
localizationsDelegates: localizationsDelegates(),
supportedLocales: supportedLocales(),
theme: mainData(),
initialRoute: _initialScreen,
onGenerateRoute: (RouteSettings settings) =>
getGeneratedRoutes(settings),
和MaterialApp。路由器不接受这些参数initialRoute
,onGenerateRoute
所以我认为这不是一个突破性的变化,我们可以使用MaterialApp。路由器和MaterialApp在同一时间?
利用MaterialApp并及时更新到routing 2.0
thanks in advance
你不能在同一个应用程序中使用MaterialApp
和MaterialApp.router
(好吧,你可以,但它不会做你可能想要它做的事)。
但是,当使用MaterialApp.router
时,您仍然可以使用Navigator.push
和Navigator.pop
。
值得一提的是,Flutter团队对什么是/不是破坏性更改有一个相当严格的定义:破坏性更改是指需要更改框架本身的一个或多个测试的更改。
只要在引入MaterialApp.router
的Flutter版本中,任何引用MaterialApp
的测试仍然通过,它就不会被视为破坏性更改。
这与MaterialApp
和MaterialApp.router
兼容是不一样的(尽管在这个特定的情况下它们恰好是)
我发现了这篇论文
https://docs.google.com/document/d/1Q0jx0l4-xymph9O6zLaOY4d_f7YFpNWX_eGbzYxr9wY/edit
命令式和声明式AP共存
如上所述,并在下一节中解释了现有的导航器的命令式API和新的声明式API (
possibly
)结合新的路由器)can be used in parallel within the same app
但是没有任何例子。我将跟随我的搜索