사진 업로드, 미리보기 기능 구현하기
리액트에서 파일을 업로드 할 때, 보통은 input 태그를 사용한다. <input type="file">
을 이용하면 보편적으로 보이는 파일 선택
버튼을 볼 수 있다. 그러나 이 업로드 버튼을 예쁘게 커스텀해보려고 한다.
이 포스팅을 참조했다.
<div className="photoBox addPhoto">
<PictureFilled />
<input
type="file"
accept="image/jpg, image/jpeg, image/png"
multiple
style={{display: 'none'}}
/>
</div>
display: 'none'
으로 보이지 않게 설정했다. const photoInput = useRef();
photoInput
이라는 useRef 훅을 생성한다. <input
type="file"
accept="image/jpg, image/jpeg, image/png"
multiple
ref={photoInput}
style={{display: 'none'}}
/>
ref={photoInput}
을 설정한다. <PictureFilled onClick={handleClick} />
const handleClick = () => {
photoInput.current.click();
};