我的应用运行良好,除了它在尝试存储上载图片的网址时会产生错误。
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存储到我创建的文档中。我使用的网址钩子为:const [eventImageUrl,setUrl] = React.useState();
答案 0 :(得分:0)
错误消息告诉您eventImageUrl
未定义。这意味着您从未为其分配值。在您在此处显示的代码中,我们甚至看不到它的声明位置。
您将必须调试代码,并确保eventImageUrl
包含您期望的值。
答案 1 :(得分:0)
错误来自您的const [eventImageUrl, setUrl] = React.useState()
将eventImageUrl
更改为url
。这似乎是您的问题
答案 2 :(得分:0)
当您
request.get(...)
有什么价值吗?现在尝试console.log您的
package main
import (
"fmt"
"strings"
)
func main() {
str := strings.Split("HELLO","")
fmt.Print(str[1])
}
在将其添加到数据库之前...说什么?我相信它将是不确定的。您也可以尝试对网址进行硬编码
console.log(url)
行得通吗?
如果是这样,则您知道问题出在您的eventImageUrl挂钩中。为了帮助您,我们需要完整的代码
更新
尝试一下
eventImageUrl