小编roh*_*023的帖子

使用 formData 上传文件时输入错误

value我在以下部分收到的错误消息formData.append(key, value);

\n
\n

\'unknown\' 类型的参数不可分配给 \n\'string | 类型的参数 斑点\'。类型“{}”缺少\n类型“Blob”的以下属性:大小、类型、arrayBuffer、切片以及另外 2 个属性。

\n
\n

代码

\n
const uploadSubtitle = async e => {\n            e.preventDefault();\n            const file = fileInput.current.files[0];\n            const res = await Axios.get(`/api/movies/${currentMovie.movieId}/subtitles?user=${user.id}`);\n            const { url, fields } = res.data;\n            const newUrl = `https://${url.split(\'/\')[3]}.s3.amazonaws.com`;\n            const formData = new FormData();\n            const formArray = Object.entries({ ...fields, file });\n            formArray.forEach(([key, value]) => {\n                formData.append(key, value);\n            });\n           //... further code\n    };\n\n\n<form onSubmit={uploadSubtitle}>\n   <input type=\'file\' name=\'subtitle\' ref={fileInput} accept=\'.srt\' />\n   <button onClick={uploadSubtitle}>Upload</button>\n</form>\n
Run Code Online (Sandbox Code Playgroud)\n …

javascript multipartform-data form-data typescript

6
推荐指数
1
解决办法
2万
查看次数

在“useEffect”函数中使用“useState”函数

我正在尝试使用useStateinside useEffect。我想访问和修改它内部的状态(useEffect),这里命名为isAuth并根据新状态渲染组件。

import React, { useState, useEffect } from 'react';

const Authentication = () => {
    const [isAuth, setIsAuth] = useState(false);

    useEffect(() => {
        console.log(isAuth);
        setIsAuth(true);
        console.log(isAuth);
    }, [isAuth]);
    return <div>{isAuth ? <p>True</p> : <p>False</p>}</div>;
};

export default Authentication;
Run Code Online (Sandbox Code Playgroud)

事情是在控制台中我得到false, false, true, true.In而不是这个控制台,我希望第二个控制台消息是真的。有人可以解释它是如何发生的,以及我如何在组件呈现之前实际更改状态?

javascript reactjs react-hooks

3
推荐指数
1
解决办法
3123
查看次数