如何在 Flutter 中使用带有抽象 class 的 ChangeNotifier?

How to use ChangeNotifier with a abstract class in Flutter?

在我的 dart 应用程序中,我想使用 ChangeNotifier 进行身份验证 class。

我有一个抽象 class,另一个 class 实现了这些方法。

abstract class AuthBase {
  Future<void> signIn(String email, String password);
  Future<void> signUp(String email);
  Future<void> signOut();
}

class Auth with ChangeNotifier implements AuthBase {
...
}

如您所见,ChangeNotifier 未与基础一起使用 class。

我想做的是将 ChangeNotifier 与摘要一起使用 class。但不确定如何覆盖 Auth class;

中的方法
@override
  void addListener(listener) {
    // TODO: implement addListener
  }

  @override
  void dispose() {
    // TODO: implement dispose
  }

  @override
  // TODO: implement hasListeners
  bool get hasListeners => throw UnimplementedError();

  @override
  void notifyListeners() {
    // TODO: implement notifyListeners
  }

  @override
  void removeListener(listener) {
    // TODO: implement removeListener
  }

有人可以提供一些帮助吗?

提供商文档中有一个针对这种情况的示例:https://github.com/rrousselGit/provider#can-i-consume-an-interface-and-provide-an-implementation

abstract class ProviderInterface with ChangeNotifier {
  ...
}

class ProviderImplementation with ChangeNotifier implements ProviderInterface {
  ...
}

class Foo extends StatelessWidget {
  @override
  build(context) {
    final provider = Provider.of<ProviderInterface>(context);
    return ...
  }
}

ChangeNotifierProvider<ProviderInterface>(
  create: (_) => ProviderImplementation(),
  child: Foo(),
),