DropZone.js 765 B

1234567891011121314151617181920212223
  1. import React, {useRef} from "react";
  2. import { actionAvaChange } from "../actions";
  3. import { connect } from "react-redux";
  4. import {useDropzone} from 'react-dropzone'
  5. export function MyDropzone({onSend}) {
  6. const loading = useRef()
  7. const {acceptedFiles, getRootProps, getInputProps} = useDropzone();
  8. if(acceptedFiles.length > 0 && !loading.current) {
  9. onSend(acceptedFiles[0])
  10. loading.current = true
  11. }
  12. return (
  13. <div {...getRootProps({className: 'dropzone'})}>
  14. <input {...getInputProps() }/>
  15. <h6>Нажмите для смены аватарки, или перетащите файл</h6>
  16. </div>
  17. );
  18. }
  19. const CDrop = connect(null,{onSend:actionAvaChange})(MyDropzone)
  20. export default CDrop