@zohodesk/hooks
Version:
Unified Component Library - Hooks
26 lines • 644 B
JavaScript
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
};
}