Flutter中我的InitState有什么问题?

问题描述

我正在尝试使用Flutter和firebase进行自动登录并将其置于initState中,但是似乎并没有受到谴责,因为我试图将其移至Build Widget,但没有任何效果,但是当我将其放入LoginPageState时却受到了谴责但是有错误请求的导航器操作具有不包含导航器的上下文。 我的代码

@override
  void initState() {
    super.initState();
    final user = FirebaseAuth.instance.currentUser();
    if (user == null) {
      print('User Null');
    } else {
      Navigator.pushReplacementNamed(context,'/HomePage');
    }
  }

解决方法

您需要等待FirebaseAuth.instance.currentUser()完成。因此,请使用await,如下所示。

final user = await FirebaseAuth.instance.currentUser()