import { useCallback } from 'react'; import { IUploadItemProps, IUploadFileItem } from '../types'; import { useEventCallbackRef } from '../../utils/hooks/useEventCallbackRef'; export function useItemHandler( props: IUploadItemProps ) { const { item, onDelete, onRetry } = props; const onDeleteRef = useEventCallbackRef(onDelete); const onRetryRef = useEventCallbackRef(onRetry); const deleteHandler = useCallback( e => { e.stopPropagation(); onDeleteRef.current?.(item); }, [item, onDeleteRef] ); const retryHandler = useCallback( e => { e.stopPropagation(); onRetryRef.current?.(item); }, [item, onRetryRef] ); return { deleteHandler, retryHandler, }; }