我正在使用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"
/>
)
}
答案 0 :(得分:0)
由于它是功能性组件,因此您不需要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>
)