Firebase FireStore调用setDoc写入数据报错,求解决:类型不匹配问题
问题排查与解决
错误原因
你的setDoc调用参数格式错误。Firebase Firestore的setDoc函数要求第一个参数是文档引用对象,但你直接把db、集合名、文档名作为前三个参数传入,导致类型不匹配,触发了expected type 'va', but it was: a custom Ba object的错误。
修复后的代码
import { doc, setDoc } from "firebase/firestore"; // 确保导入doc函数 useEffect(() => { const setCount = async () => { try { // 先创建文档引用:doc(数据库实例, 集合名, 文档ID) const docRef = doc(db, "data", "data"); await setDoc(docRef, { test: { choice } }); } catch (e) { console.log(e.message); } }; setCount(); }, []);
关键说明
- 必须使用
doc()函数生成合法的文档引用,再传递给setDoc setDoc的第二个参数才是要写入的文档数据对象- 确保已经正确导入
doc和setDoc这两个Firestore函数
内容的提问来源于stack exchange,提问作者esoteric elf
相关产品推荐
相关产品推荐

