// AddCardPage.jsx (전체 코드 중 일부만 발췌)export default function AddCardPage() {const [isDragOver, setIsDragOver] = useState(false);const files = Array.from(event.dataTransfer.files);const handleDragOver = (event) => { event.preventDefault(); // 브라우저의 기본 드래그 오버 동작을 방지 event.stopPropagation(); // 이벤트가 상위 요소로 전파되는 것을 막음 setIsDragOver(true); // 드래그 오버 상태로 설정};const handleDragLeave = (event) => { event.preventDefault(); // 브라우저의 기본 드래그 리브 동작을 방지 event.stopPropagation(); // 이벤트가 상위 요소로 전파되는 것을 막음 setIsDragOver(false); // 드래그 오버 상태 해제};const handleDrop = (event) => { event.preventDefault(); // 브라우저의 기본 드롭 동작을 방지 (파일 열기 등) event.stopPropagation(); // 이벤트가 상위 요소로 전파되는 것을 막음 setIsDragOver(false); // 드래그 오버 상태 해제 onUploadImage(event); // 드롭된 파일 처리};return ( <> <S.DashedBorder onDragOver={handleDragOver} onDragLeave={handleDragLeave} onDrop={handleDrop} isDragOver={isDragOver} > </>)
스타일 코드
해당 영역으로 이미지를 가져올 때 배경색에 변화를 주어, drag & drop 기능을 시각적으로 명확하게 하고자 하였다.