类型 'QueryDocumentSnapshot<DocumentData>' 没有调用 signatures.ts(2349)

Type 'QueryDocumentSnapshot<DocumentData>' has no call signatures.ts(2349)

我正在尝试创建一个表单来向我的项目添加更多管理员。

async addAdmin() {

    const querySnapshot = await getDocs(collection(this.db, "admin-requests"));
    querySnapshot.forEach((doc) => {
      if (doc.data().email === this.addAdminFormGroup.controls.adminEmail.value) {
        setDoc(doc(this.db, "admins", doc.data().uid), {
          name: doc.data().name,
          email: doc.data().email,
          uid: doc.data().uid
        });
      }
    }); 
  }

setDoc(doc(...

doc 部分给我一个错误,即:

(参数)文档:QueryDocumentSnapshot 文档数据

这个表达式是不可调用的。 类型 'QueryDocumentSnapshot DocumentData ' 没有调用 signatures.ts(2349)

问题是为每个文档和函数都使用了文档名称。

更改了 forEach 文档名称以修复问题和快照名称以提高可读性。

正确方法:

async addAdmin() {

    const adminRequestsSnapshot = await getDocs(collection(this.db, "admin-requests"));
    adminRequestsSnapshot.forEach((adminRequestDoc) => {
      if (adminRequestDoc.data().email === this.addAdminFormGroup.controls.adminEmail.value) {
        setDoc(doc(this.db, "admins", adminRequestDoc.data().uid), {
          name: adminRequestDoc.data().name,
          email: adminRequestDoc.data().email,
          uid: adminRequestDoc.data().uid
        });
      }
    }); 
  }