如何解决Flutter中OnGenerateRoute“常量值无效”的问题
我在实现 Deeplinking 时遇到此错误,这是由于在我的 Main.dart 文件中使用了 MultiProvider。
要解决这个问题,您需要为 onGenerateRoute 等创建单独的上下文。就像下面的代码一样...
顺便说一句,这些代码取自:如何在 onGenerateRoute 中使用提供程序?
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context1) {
return MultiProvider(
providers: <SingleChildCloneableWidget>[
ChangeNotifierProvider(builder: (_) => BottomNavigationBarProvider()),
ChangeNotifierProvider(builder: (_) => UserProvider()),
],
builder: (context2, _) => MaterialApp(
initialRoute: '/',
onGenerateRoute: Router(context2).generateRoute,
title: 'Title',
theme: ThemeData(
primarySwatch: Colors.blue,
),
),
);
}
}