Firebase 实例而不是引用

Firebase instances instead of references

在 Firebase 文档中,它像这样声明对 Auth 或 Firestore 的最终引用:

CollectionReference users = FirebaseFirestore.instance.collection('items');

我的问题是我必须即时修改实例设置以注入 whereBy 参数、特定文档或将主机更改为模拟器等。

我在我的代码中重复使用新实例来服务所有这些用例,就像这样

return FirebaseFirestore.instance
        .collection('contracts')
        .doc(_contractKey)
        .update({'items': _itemArray}).then((value) {
      if (kDebugMode) {
        print("Item updated");
      }
    }).catchError((error) {
      if (kDebugMode) {
        print("Failed to merge data: $error");
      }
      return error;
    });

我的问题是在每个函数中使用新实例而不是引用在构造函数中设置的最终 Firebase 引用对性能有何影响?我在做什么是不好的做法吗?我是否会在我的应用和 Firebase 之间触发不必要的通信?

谢谢。

Firebase SDK 已经缓存了他们必须在幕后创建的任何昂贵的对象。虽然为了代码的可读性和简洁性,我通常会保留一个带有集合引用的 field/variable,但这里不考虑性能影响。