我使用MongoDB在Flutter中创建了一个SignIn页面,当用户输入有效凭据时,必须将其导航到HomePage,否则它们应该留在同一页面中。我如何实现这种逻辑?
当他们输入有效的凭据时,我可以在控制台中成功打印用户,但是如果isLogin = true,如何导航到下一页?

 Future<String> signIn() async {
      final response = await http.post(
        serverReceiverPath,
        headers: {'Content-Type': 'application/json'},
      );
      if(response.body == 'Login successful'){
        isLogin = true;
      }else{
        isLogin = false;
      }
      print(response.body);
      print(isLogin);
    }

最佳答案

只需使用Navigator

  if(response.body == 'Login successful'){
    isLogin = true;
    Navigator.of(context).pushReplacementNamed('/home');
  }else{
    isLogin = false;
  }
您可以在此处了解更多信息:https://flutter.dev/docs/cookbook/navigation/named-routes
您也可以从以下最新答案中尝试我的ConditionalRouter实现:Making Private Route in Flutter

关于flutter - 根据抖动情况导航到下一页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63685011/

10-12 06:54