在 react-dropzone-uploader 的 onSubmit 方法中访问 props
Accessing props in onSubmit method of react-dropzone-uploader
我正在使用 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>
)
我正在使用 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>
)