e.target.file 을 체크 해보니, 파일의 업로드 시 e.target.file의 length가 1 업로드를 취소 한 경우 0이 나오게 된다.
기존코드
const handleImageChange = (e: any) => {
const {
target: { files },
} = e;
const theFile = files[0];
const reader = new FileReader();
reader?.readAsDataURL(theFile);
reader.onloadend = (finishedEvent) => {
const {
currentTarget: { result },
}: any = finishedEvent;
setImageUpload(result);
};
};
변경코드
const handleImageChange = (e: any) => {
const file: any = e.target.files; // 이부분을 추가함 if Else를 넣어줌
if (file.length === 0) {
return;
} else {
const {
currentTarget: { files },
} = e;
const theFile = files[0];
const reader = new FileReader();
reader?.readAsDataURL(theFile);
reader.onloadend = (finishedEvent) => {
const {
currentTarget: { result },
}: any = finishedEvent;
setImageUpload(result);
};
}
};
도움받았어요! 감사합니다 :)