0

我正在使用 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
          }
        }
    ));
  }
}
4

0 回答 0