Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用useState附加文件?_Javascript_Reactjs_Mern_Use State - Fatal编程技术网

Javascript 如何使用useState附加文件?

Javascript 如何使用useState附加文件?,javascript,reactjs,mern,use-state,Javascript,Reactjs,Mern,Use State,我正试图这样做的文件是附加的,但它不清楚如何正确 <form action="#"> <div className="file-field input-field "> <div className="btn indigo darken-1" > <span>File&l

我正试图这样做的文件是附加的,但它不清楚如何正确

<form action="#">
                <div className="file-field input-field ">
                    <div className="btn indigo darken-1" >
                        <span>File</span>
                        <input type="file" multiple
                               onChange={e => setLesson({title:lesson.title,description: lesson.description,files:e.target.value})}>
                            </input>
                    </div>
                    <div className="file-path-wrapper ">
                        <input className="file-path validate" type="text" placeholder="Upload one or more files" style={{color: '#FFFFFF'}}/>
                    </div>
                </div>
            </form>
最终的目标是将文件发送到服务器并具有指向它的链接,如何使用这种方法?
也就是说,当您单击文件按钮时,您可以将文件附加到useState

使用
e.target.files
以实现您的目标

最后但并非最不重要的一点是,您的代码存在许多问题


下面是解决方法:

那么您真正的问题是如何通过ajax发送文件?或者你这里的“附加”是什么意思?我想知道如何将这些文件放在Lesson中我相信
e.target.files
就是你想要的。但这与React无关。请使用
event.target.files
而不是
event.target.value
文件将以数组形式出现,因此请使用
e.target.files[0]
。如果您使用
文件:{}
,那么使用
多个
有什么意义呢?
    const [lesson,setLesson] = useState({
    title: '', description: '',files:{}
})