DropZone.js 811 B

123456789101112131415161718192021222324
  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. // const files = acceptedFiles.map(file => <li key={file.path}>{file.path}</li>);
  9. if(acceptedFiles.length > 0 && !loading.current) {
  10. onSend(acceptedFiles[0])
  11. loading.current = true
  12. }
  13. return (
  14. <div {...getRootProps({className: 'dropzone'})}>
  15. <input {...getInputProps() }/>
  16. <p>Нажмите для смены аватарки</p>
  17. </div>
  18. );
  19. }
  20. const CDrop = connect(null,{onSend:actionAvaChange})(MyDropzone)
  21. export default CDrop