我正在使用 MSAL 通过 ChangeNotifierProvider 对用户进行身份验证。我正在尝试从 MSAL 登录导航到另一个页面,但 Navigator.push 需要在小部件中使用。如何在不使用 Navigator.push 的情况下导航到另一个页面?或者它不能用于颤振?
下面的代码:
void main() => runApp(
MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => MsalProvider())
],
child: MyApp(),
)
);
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return CupertinoApp(
home: Consumer(
builder: (BuildContext context, MsalProvider msal, Widget _){
// print(msal.status);
switch(msal.status){
case AuthStatus.AUTHENTICATED_USER:
return MaterialPageRoute(builder: (context)=> UASRegistered()); // does not work, error says need a widget
}
}
));
}
}