我正在嘗試使用 Firestore 的 withConverted 方法將查詢作為我在 Typescript 中的自定義類回傳。
事件轉換器類
import Event from "@/models/Event";
class EventConverter implements FirestoreDataConverter<Event> {
toFirestore(event: PartialWithFieldValue<Event>): DocumentData {
return {
id: event.id,
code: event.code
}
}
fromFirestore(snapshot: QueryDocumentSnapshot): Event {
const data = snapshot.data()
return new Event(
data.id,
data.code
)
}
}
export default EventConverter
呼叫代碼 正如你所看到的,我期望的回傳型別是一個事件,比如我在我的 eventConverter 中定義的
export async function getEventFromCode(code: string): Promise<Event> {
const q = query(
collection(db, 'events').withConverter(new EventConverter()),
where('code', '==', code),
limit(1)
)
const querySnapshot = await getDocs(q)
return querySnapshot.docs[0]
}
但是打字稿讓我知道:
TS2740:“QueryDocumentSnapshot”型別缺少“Event”型別中的以下屬性:bubbles、cancelBubble、cancelable、composed、
uj5u.com熱心網友回復:
您似乎正在投向這個事件:
https://developer.mozilla.org/en-US/docs/Web/API/Event
而不是您的自定義類稱為事件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/381771.html
標籤:打字稿 火力基地 谷歌云firestore
