Flutter:OnGenerateRoute 错误“无效常量值”

问题描述 投票:0回答:1

如何解决Flutter中OnGenerateRoute“常量值无效”的问题

我在实现 Deeplinking 时遇到此错误,这是由于在我的 Main.dart 文件中使用了 MultiProvider。

flutter dart deep-linking
1个回答
0
投票

要解决这个问题,您需要为 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,
    ),
   ),
  );
 }
}
© www.soinside.com 2019 - 2024. All rights reserved.