如何编写条件以忽略某些代码

时间:2021-07-07 11:32:24

标签: javascript reactjs

我想知道如何编写一个条件来忽略反应中的事件(文件上传)。我想检查“formData”是否为空,如果是,则忽略 axios.post。尝试使用 << if (formData =="") >> 但没有用。请帮忙 这是我的代码:

onFileUpload = (event) => {
        const formData = new FormData();
        formData.append(
            "file",
            this.state.selectedFile,
            this.state.selectedFile.name
        );
        //console.log(this.state.selectedFile);
        const oHeaders = {
            'Authorization': 'Bearer ' + localStorage.getItem("token").valueOf("token"),
            'Content-Type': 'multipart/form-data'
        }

            {axios.post(Config.CONFIG_SERVER + "files/uploadFile", formData, { headers: oHeaders }).
                then((res) => {
                    console.log(res.data.fileDownloadUri)
                    if (res.status == 200) {
                        this.setState({ path: res.data.fileDownloadUri })
                    } else {
                        toast.error('Echec de chargement du fichier !', { autoClose: 3000 });
                    }
                })}
    };

1 个答案:

答案 0 :(得分:0)

因为您正在创建一个 FormData 实例,并将其分配给 formData const,所以您需要检查 formData 是否为空。

您的方法不起作用,因为 FormData 不会 == 到 '',它不是字符串,而是一个对象。

只需控制台记录它: formData object

要检查 formData 是否为空,您可以检查其键的长度。

if(Object.keys(formData).length === 0)

formData object keys