[英]How to save an file object to state in React?
我正在尝试将状态上传到服务器之前在模式之间传递的文件对象的setState。 以下是我尝试实现的代码。
const state = {
selectedDocument: {
file: {},
},
selectedFile: new File([''],''),
}; //state init in constructor
//method being called upon modal close and passes the selected file object.
openUploadDocumentModal(files) {
console.log('files', files); //getting the file object here.
const ds = new File([files[0]], files[0].name);
//tried setting directly doest work.
this
.setState({
selectedDocument: {
file: new File([files[0]], files[0].name),
},
selectedFile: new File([files[0]], files[0].name),
});
//tried setting using the react update addon, doesnt work
this
.setState(prevState => update(prevState,
{
selectedFile: { $set: new File([files[0]], files[0].name)}, // trying to set the file file here, get {} on output
showAddDocumentModal: { $set: false },
showUploadDocumentModal: { $set: true },
}
));
}
将状态设置为:
const state = {
selectedDocument: {
file: null,
},
selectedFile: null,
};
然后,将状态设置为:
this
.setState({
selectedDocument: {
file: files[0],
//files is a FileList variable, either obtained from event.target.files if obtained from input
//or event.dataTransfer.files if obtained from drag and drop
//or any other method
},
selectedFile: files[0],
});
那样简单!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.