2024.01.30 TIL

Ji Won·2024년 1월 30일
0

TODAY I LEARNED

목록 보기
18/20

이미지 용량제한 로직 추가와 react-hook-form을 사용한 이미지 업로드시 이미지 파일 추가 후 다시 추가 하기 위해 눌렀다가 취소시 이미지가 날라가는 오류가 발생했다.

해당 오류를 해결하기 위해 아래와 같이 로직을 구성했다.

로직

<label htmlFor="preview">
          <Image
            alt="이미지 없음"
            width={300}
            height={300}
            className={styles.previewImg}
            src={previewImg}
          />
          <input
            className={styles.imageInput}
            type="file"
            accept="image/*"
            id="preview"
            {...register('image', {
              onChange: (e: Event) => {
                console.log('aaa');
                const input = e.target as HTMLInputElement;
                if (input!.files!.length === 0) {
                  setValue('image', imageFile);
                } else {
                  if (input.files) {
                    setImageFile(input.files);
                  }
                }
              },
              validate: (value) => {
                console.log('너는 벨류', value);
                if (value.length > 0 && value[0].size >= 2_000_000) {
                  errorTopRight({ message: '파일사이즈는 2MB를 넘지 않아야 합니다.' });
                  return value;
                }
              }
            })}
          />
        </label>
profile
1인분 하고 싶은 코린이

0개의 댓글