'Stream<User?>' 类型的值不能从函数 'user' 返回,因为它的返回类型是 'Stream<User>?'

时间:2021-07-27 00:57:16

标签: flutter flutter-layout

我在 auth.authStateChanges() 上看到了红线, 错误说:无法从函数“user”返回“Stream”类型的值,因为它的返回类型为“Stream?”。

class Auth {
  final FirebaseAuth auth;

  Auth({required this.auth});

  Stream<User>? get user => auth.authStateChanges(); <-- here

现在更新我收到此错误:

Future<String?> createAccount({required String email, required String password}) async {
    try {
      await auth.createUserWithEmailAndPassword( <-- here **auth**
        email: email.trim(),
        password: password.trim(),
      );
      return "Success";
    } on FirebaseAuthException catch (e) {
      return e.message;
    } catch (e) {
      rethrow;
    }
  }

1 个答案:

答案 0 :(得分:0)

这是你更新的课程

import 'package:firebase_auth/firebase_auth.dart';

class Auth {
  final FirebaseAuth auth;

  Auth({required this.auth});

  Stream<User?> get user => auth.authStateChanges();

  Future<String?> createAccount({required String email, required String password}) async {
    try {
      await FirebaseAuth.instance.createUserWithEmailAndPassword(
        email: email.trim(),
        password: password.trim(),
      );
      return "Success";
    } on FirebaseAuthException catch (e) {
      return e.message;
    } catch (e) {
      rethrow;
    }
  }
}