我正在尝试使用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'