UNPKG

@zohodesk/hooks

Version:

Unified Component Library - Hooks

26 lines 644 B
import { useRef, useCallback } from 'react'; export default function useFileUpload(props) { const { onChange } = props; const uploadElRef = useRef(); const handleFocus = useCallback(() => { uploadElRef.current.focus(); }, []); const resetUpload = useCallback(() => { uploadElRef.current.value = ""; }, []); const handleUploadClick = useCallback(() => { uploadElRef.current.click(); }, []); const handleFileUpload = useCallback(ev => { onChange && onChange(ev.target.files); }, [onChange]); return { uploadElRef, handleFocus, resetUpload, handleUploadClick, handleFileUpload }; }