import { useCallback } from 'react'; import { useDropzone } from 'react-dropzone'; import { connect } from 'react-redux'; import { actionUploadFile } from '../actions'; export const MyDropzone = ({ maxFiles, onUpload, onSet }) => { const onDrop = useCallback(async acceptedFiles => { let files = [] await Promise.all(acceptedFiles.map(async (file) => { let result = await onUpload(file) files.push(result) console.log(files) })) onSet(files) }, [onUpload, onSet]) const { getRootProps, getInputProps } = useDropzone({ onDrop, maxFiles: maxFiles }) // const files = acceptedFiles.map(file => ( //
  • // {file.path} - {file.size} bytes //
  • // )) return (
    Drag 'n' drop here, or click to select
    ) } export const ConnectDropzone = connect(null, { onUpload: actionUploadFile })(MyDropzone)