首页 > 解决方案 > 尝试将上传图像的 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();

标签: reactjsgoogle-cloud-firestore

解决方案


错误来自您的const [eventImageUrl, setUrl] = React.useState() 更改eventImageUrlurl. 这似乎是你的问题


推荐阅读