reactjs - 尝试将上传图像的 url 存储在 firestore 中时遇到错误
问题描述
我的应用程序运行良好,除了它在尝试存储上传图像的 url 时会产生错误。
FirebaseError:使用无效数据调用函数 DocumentReference.set()。不支持的字段值:未定义(在字段 eventImgUrl 中找到)
const onSubmit = (e) => {
e.preventDefault();
if(eventImage) {
const uploadImage = storage.ref(`EventImages/${values.eventName}`).put(eventImage);
uploadImage.on('state_changed',
(error) => {
console.log(error);
},
() => {
storage.ref('EventImages').child(values.eventName).getDownloadURL().then(url =>{
console.log(url);
setUrl(url);
})
}
);
}
dbref.add({
eventName: values.eventName,
eventVenue: values.eventVenue,
eventAddress: values.eventAddress,
eventCategory: values.eventCategory,
eventOrganizer: values.eventOrganizer,
eventPhone: values.eventPhone,
eventEmail: values.eventEmail,
eventDetails: values.eventDetails,
eventDate: selectedDate.toDateString(),
eventTime: selectedDate.toLocaleTimeString(),
eventImgUrl: eventImageUrl
}).then((docRef) => {
console.log("Document written with ID: ", docRef.id);
setValues('');
setImg('');
setUrl('');
}).catch((error) => {
console.error("Error adding document: ", error);
});
}
我想将 img url 存储到我创建的文档中。我正在为 url 使用一个钩子: const [eventImageUrl, setUrl] = React.useState();
解决方案
错误来自您的const [eventImageUrl, setUrl] = React.useState()
更改eventImageUrl
为url
. 这似乎是你的问题
推荐阅读
- pkg-config - 如何让 pkg-config 使用 PKG_CONFIG_PATH?
- javascript - 为什么我使用 ES 模块时浏览器控制台中没有变量可用?
- circleci - 我可以将 circleci 参数的值设置为运行的一部分吗?
- google-cloud-platform - GCP 上的 AI Platform Notebooks 中“仅限单个用户”选项有什么要求?
- javascript - Firebase 存储下载 URL 错误:HTTP 方法/URL 对无效
- ios - 如何在 SwiftUI 中正确使用谷歌登录
- sql-server - 每组每天的最大使用量
- django - 将原始 sql 表达为 Django 符号对象过滤器
- google-apps-script - 使用谷歌脚本将 HTML 电子邮件签名添加到 gsuite 中的所有外发电子邮件
- javascript - 为什么要更改我的轴(moment.js)的时间值?