我想同时使用device_preview
和auto_route
。为此,我需要将相应的代码添加到MaterialApp
的builder属性中。但是,由于MaterialApp
小部件中只有一个构建器属性,因此我只能使用其中一个软件包。我该怎么办才能同时使用两者?
答案 0 :(得分:1)
Material App中的builder属性将为您提供上下文和本机导航器,以防您要将其与某些主题数据或其他内容包装在一起,因此不要传递本机导航器,而应通过ExtendedNavigator。
MaterialApp(
builder: (context, nativeNavigator) => DevicePreview.appBuilder(
context,
ExtendedNavigator(router: Router()),
),
答案 1 :(得分:0)
如果有人在auto_route
或更高版本中使用0.6.2
,则您可能正在努力解决该问题,因为上述答案不再起作用,因为auto_route现在正在使用ExtendedNavigator.builder
。这是解决问题的方法:
MaterialApp(
locale: DevicePreview.of(context).locale,
builder: (context, nativeNavigator) => DevicePreview.appBuilder(
context,
ExtendedNavigator.builder<Router>(
router: Router(),
)(context, nativeNavigator),
),
);