使用提供商

时间:2020-04-24 22:38:21

标签: firebase flutter dart google-cloud-firestore flutter-provider

因此,我正在尝试构建一个社交网络应用程序,并且我看到了许多不同的实现应用程序体系结构的方式。我对Flutter还是比较陌生,因此,如果有经验的人可以签下我的方法(我想确保它具有可伸缩性),我将不胜感激。

当前,我有一个FirestoreAPI类,这使我可以获取,设置数据库中各个集合中的快照文档。

我还有一个FirebaseAuthenticationService类,用于登录/注销用户,并使用Provider在整个应用程序中存储currentUser数据,如下所示:

(In main.dart)

@override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        ChangeNotifierProvider(create: (_) => FirebaseAuthenticationService()),
      ],

然后我可以使用Provider.of<FirebaseAuthenticationService>(context).currentUser

访问用户的数据

如果我想在Firestore中获取/设置数据,只需使用FirestoreAPI在应用中的任何地方初始化final fireStoreAPI = FirestoreAPI();即可,然后我就可以访问其中的方法(例如创建流)。

我的担忧:

  • 我已经看到很多使用locator包来将FirebaseAPIFirebaseAuthenticationService初始化为LazySingletons的情况,这对我来说是必需的吗?

  • 我还应该在FirestoreAPI中初始化MultiProvider还是可以像现在这样调用它?

请问我是否还不够具体。

我非常乐意接受任何建议/改进!

0 个答案:

没有答案