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(acceptedFiles => { acceptedFiles.forEach(async (file) => { let result = await onUpload(file) onSet(result) }) }, [onUpload]) const { acceptedFiles, getRootProps, getInputProps } = useDropzone({ onDrop, maxFiles: maxFiles }) const files = acceptedFiles.map(file => (
  • {file.path} - {file.size} bytes
  • )) return (

    Drag 'n' drop some files here, or click to select files

    {maxFiles && Max files: {maxFiles}}
    ) } export const ConnectDropzone = connect(null, { onUpload: actionUploadFile })(MyDropzone)