什么是建设者和pageBuilder之间的区别在Go路由器包?



在Fluttergo_router包中,显然有两种创建新页面的方法,builderpageBuilder:

GoRoute(
name: 'Route',
path: '/route',
builder: (BuildContext context, GoRouterState state) =>
const RouteView(...),
pageBuilder: (BuildContext context, GoRouterState state) => 
MaterialPage(
child: const RouteView(...),
),
),

但是它们之间有什么区别呢?它们似乎做同样的事情,只有pageBuilderMaterialPage的包装,是这样吗?顺便说一下,MaterialPage是有用的吗?

我也有过同样的问题。从GoRouter的文档中,这是我找到的所有内容:

构建器负责构建要显示的小部件屏幕上。或者,您可以使用pageBuilder自定义当路由激活时的过渡动画。默认的根据顶部的应用程序,在页面之间使用过渡它的小部件树,例如使用MaterialApp会导致go_router使用MaterialPage转换。考虑使用pageBuilder自定义页面类。

所以我想我能推断的唯一有用的区别是pageBuilder允许你有一个自定义的过渡动画。希望对你有帮助。

相关内容

  • 没有找到相关文章

最新更新