参数类型“FirebaseAuthProvider”无法分配给参数类型“AuthService”

问题描述 投票:0回答:2
Hello please help me am getting stack when creating an Auth Service with Flutter. and am  getting this error message 

'参数类型'FirebaseAuthProvider'无法分配给参数类型'AuthService'

    import 'package:mynotes/service/auth_provider.dart';
    import 'package:mynotes/service/auth_user.dart';
    import 'package:mynotes/service/firebase_auth_provider.dart';
    
    class AuthService implements AuthProvider {
      final AuthService provider;
      const AuthService(this.provider);
      factory AuthService.firebase() => AuthService(FirebaseAuthProvider());
    
      // implement createUser
      @override
      Future<AuthUser> createUser({
        required String email,
        required String password,
      }) =>
          provider.createUser(
            email: email,
            password: password,
          );
    
      //implement currentUser
      @override
      AuthUser? get currentUser => provider.currentUser;
    
      //  implement login
      @override
      Future<AuthUser> login({
        required String email,
        required String password,
      }) =>
          provider.login(
            email: email,
            password: password,
          );
    
      // implement logout
      @override
      Future<void> logout() => provider.logout();
    
    // implement sendEmailVerification
      @override
      Future<void> sendEmailVerification() => provider.sendEmailVerification();
    
      @override
      Future<void> initialized() => provider.initialized();
    }

我已经使用 flutter 创建了一个 AuthService.dart 页面,但是当我使用工厂时,我收到以下错误 参数类型“FirebaseAuthProvider”无法分配给参数类型“AuthService”

android flutter flutter-layout
2个回答
2
投票

更改此行:

final AuthService provider;

对此:

final AuthProvider provider;

另请参阅免费 Flutter 课程的 GitHub 存储库,以仔细检查您的实施情况:https://github.com/vandadnp/mynotes-course

这个特定文件可以在这里找到:https://github.com/vandadnp/mynotes-course/blob/8f021cbd58d4a4bb4d962ea2b085242b68bba989/lib/services/auth/auth_service.dart


0
投票

兄弟 我遇到了同样的错误,直到我将其添加到代码中并且工作正常。

工厂 AuthService.firebase() => AuthService(FirebaseAuthProvider 作为 AuthProvider);

© www.soinside.com 2019 - 2024. All rights reserved.