上下文在Flutter中的Navigator.pushReplacement中显示错误

时间:2020-07-15 13:46:01

标签: flutter flutter-layout

我正在尝试通过以下代码根据google auth的身份验证阶段推送路由器,

void authenticationUser(FirebaseUser user){
      _repository.authenticateUser(user).then((isNewUser){
        if(isNewUser){
          _repository.addDataToDb(user).then((value){
            Navigator.pushReplacement(context,
              MaterialPageRoute(builder: (context){
                return HomeScreen();
              })
            )
          });
        }else{
          Navigator.of(context).pushReplacement(
              MaterialPageRoute(builder:(context){
                return HomeScreen();
              })
            );
        }
      });
      
  }

但是Navigator.of(context)显示未定义上下文的错误,请问任何解决方案?在此先感谢..:)

1 个答案:

答案 0 :(得分:1)

使用如下所示的方法Context可以尝试以下方法:-

void authenticationUser(FirebaseUser user,BuildContext context){
      _repository.authenticateUser(user).then((isNewUser){
        if(isNewUser){
          _repository.addDataToDb(user).then((value){
            Navigator.pushReplacement(
           context, MaterialPageRoute(builder: (context) => screen));
              })
            )
          });
        }else{
          Navigator.pushReplacement(
         context, MaterialPageRoute(builder: (context) => screen));
        }
      });
      
  }