【发布时间】:2022-12-17 02:09:41
【问题描述】:
我曾经像这样将 BLoC 实例传递给新路由:
Navigator.of(context).push<void(FavoriteDetailPage.route(_favoriteBloc));
class FavoriteDetailPage extends StatelessWidget {
const FavoriteDetailPage({super.key});
static Route route(FavoriteBloc favoriteBloc) {
return MaterialPageRoute<void>(
settings: const RouteSettings(name: 'favorite_detail'),
builder: (_) => BlocProvider.value(
value: favoriteBloc,
child: FavoriteDetailPage(),
),
);
}
...
}
我正在将我的应用程序路由迁移到go_router,但找不到相同的方法。 -> 为新路由提供相同的 bloc 实例,因为 go_router parameters 只能是 String
我可以在我的MaterialApp 上方提供 BLoC 以使其可供我的所有应用程序使用,但我不想将它提供给我的所有应用程序(只是那两条子路线)
【问题讨论】:
标签: flutter flutter-navigation flutter-routes flutter-go-router gorouter