Phi*_*aro 20 routes dart flutter flutter-go-router
在 Fluttergo_router
包中,显然有两种创建新页面的方法,使用 abuilder
或 a pageBuilder
:
GoRoute(
name: 'Route',
path: '/route',
builder: (BuildContext context, GoRouterState state) =>
const RouteView(...),
pageBuilder: (BuildContext context, GoRouterState state) =>
MaterialPage(
child: const RouteView(...),
),
),
Run Code Online (Sandbox Code Playgroud)
但它们之间有什么区别呢?他们似乎做同样的事情,只是上面pageBuilder
有一个包装纸,就这样吗?MaterialPage
顺便问一下,aMaterialPage
有用吗?
小智 28
我也有过同样的问题。从 GoRouter 的文档中,这就是我发现的全部内容:
构建器负责构建要在屏幕上显示的 Widget。或者,您可以使用 pageBuilder 自定义该路线激活时的过渡动画。页面之间使用的默认过渡取决于其小部件树顶部的应用程序,例如,使用 MaterialApp 将导致 go_router 使用 MaterialPage 过渡。考虑使用 pageBuilder 来自定义 Page 类。
所以我想我可以推断出的唯一有用的区别是 pageBuilder 允许您拥有自定义过渡动画。希望有帮助。
归档时间: |
|
查看次数: |
4809 次 |
最近记录: |