使用vue并发时,如何键入Firebase getDoc



我正在尝试使用Firebase和Vue并发创建一个可组合的TypeScript Vue。

文档说我必须显式地键入生成的任何中间值。

我正试图为FirebasegetDoc调用这样做,但Eslint给了我一个错误,说Unsafe assignment of an 'any' value,我想解决这个问题:

import { db } from 'src/firebase/config';
import {
doc,
getDoc,
// DocumentData,
DocumentSnapshot,
} from 'firebase/firestore';
import { useTask } from 'vue-concurrency';
const getDocumentTask = useTask(function* (
signal,
collectionName: string,
documentId: string
) {
const documentReference = doc(db, collectionName, documentId);
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const response: DocumentSnapshot = yield getDoc(documentReference); // <-- Eslint error here
const document = {
...response.data(),
id: response.id,
};
return document;
});
export default getDocumentTask;

好吧,刚刚找到了答案(至少在我的情况下(。

更换

'firebase/firestore'

带有

'firebase/firestore/lite'

相关内容

最新更新