访问react dropzone上传程序的onSubmit方法中的道具



我正在使用react-dropzone-uploader上传文件。一切正常;除了我希望在单击提交按钮后更新父组件。我该怎么办?

这是我使用的代码部分:


export default () => {
const handleSubmit = (files, allFiles) => {
console.log('uploads files:', files, this)
// There is no access to props here.
}
return (
<Dropzone
getUploadParams={getUploadParams}
onChangeStatus={handleChangeStatus}
onSubmit={handleSubmit}
accept="image/*,.pdf,.doc,.docx"
/>
)
}

由于它是一个功能组件,您不需要this,并且可以从中获得道具

export default (props) => {
const handleSubmit = (files, allFiles) => {
console.log('uploads files:', files)
// Get set state function from props
props.setFiles(files)
}
return (
<Dropzone
getUploadParams={getUploadParams}
onChangeStatus={handleChangeStatus}
onSubmit={handleSubmit}
accept="image/*,.pdf,.doc,.docx"
/>
)
}

在父级中,您可以将此组件称为

...
const [files, setFiles] = useState(null)
...
return (
<div>
<div>Drop files</div>
<CustomDropzone setFiles={setFiles} />
</div>
)

最新更新