728x90
이건 TIL 이자 바보같았던 치열한 고민의 흔적이랄까..
이미지 파일 업로드까지 다 구현해놓고 그 이미지의 파일명을 가져오지 못해서 하루를 날린 기록을 적어본다.
동기가 마무리를 state 마무리를 도와줘서 바로 해결되었던,, 역시 동기사랑 나라사랑
일단 이걸 고민했던 시간을 반성하며..
✅ 일단 구현된 코드 방식(이건 참고용, 다양한 방법이 있다)
const [imgName, setImgName] = useState<string>('');
const onClickImg = useCallback(async() => {
if (loading) return;
if(imgChanged){
setImgChanged(img.url);
} else {
const data = await readFile('image/*')
setImgName(data.name);
const reader = new FileReader();
reader.onload = () => {
const dataURL = reader.result as string;
setImgChanged(dataURL);
};
reader.readAsDataURL(data);
}
}, [imgChanged, loading, img.url])
return (
<div>
<ImgButton
onClick={onClickImg}
>
이미지 찾기
</ImgButton>
<ImgName>{imgName}</ImgName>
</div>
)
1️⃣ useState 사용
const [imgName, setImgName] = useState<string>('')
2️⃣ onClick 함수 내 이름 넣어주기
...
const data = await readFile('image/*')
setImgName(data.name);
...
여기서 data를 콘솔로 찍으면 name이 나오기 때문에 이런 식으로 함수를 구성했다.
3️⃣ 파일 이름 사용하고 싶은 곳에 사용하기
<ImgName>{imgName}</ImgName>
아주 쉽고 사소한 코드인데, 이걸 하루종일 치열하게 고민한 시간들이 아까우면서도 두 번은 실수 안하겠다 싶었다.
모든 코드를 익숙하게 쓰는 그 날까지 ㅠㅠ !
728x90
'제니의 개발일지 > 도움이 되었던 것 정리' 카테고리의 다른 글
스쿼클 Squircle css 하는 법 - 트러블 슈팅 기록 (0) | 2023.03.30 |
---|---|
[TypeScript] useRef 모달 바깥 영역 클릭 이벤트 (0) | 2023.03.27 |
[React 리액트] 버튼 클릭 모달 열기, 닫기 (2) | 2022.12.28 |
TypeScript props css boolean 적용(+style-components) (0) | 2022.12.14 |
TypeScript css 타입 지정해주기 (0) | 2022.12.14 |