오늘의목표
오늘어려운점
``
const [selectedFile , setSelectedFile] = useState(null);
const {
target: { files }
} = event;
const theFile = files[0];
const reader = new FileReader();
reader.onloadend = (finishedEvent) => {
const {
currentTarget: { result }
} = finishedEvent;
setSelectedFile(result);
};
reader.readAsDataURL(theFile);
``
이 코드는 파일 선택 이벤트를 처리고 파일 선택 이벤트가 발생하면 함수는 선택한 파일을 읽고 그 결과를 setSelectedFile() 함수에 전달할수있도록 코드를 작성했는데
이걸 작성하면서 파일로딩이 끝날때 finishedevent를 갖고 여기서 result값으로 state로 저장하고 result를 복사해서 새창에 붙이는 코드를 짯는데
이미지도 나오지 않고 fireStore에도 이미지 사진이 전송되던게 전송도 막혔었다.
if (files.length === 0) return;
사이에 파일에 길이가 0이면 그냥 리턴하고 아닐때는 나타나게 도 시도를 해봤고
``
const {
target: { files },
} = event;
const theFile = files[0];
// console.log(theFile);
const reader = new FileReader();
reader.onloadend = (finishedEvent) => {
const {
currentTarget: { result },
} = finishedEvent;
setSelectedFile(result);
};
reader.readAsDataURL(theFile);
};
...
return(
{fileAddress && (
``
이렇게 위코드를 짜고 아래 파일 버튼에 src로 값을 파일에 값을 넣고 했는데
화면에서 아애 파일 넣는 칸이 살아졌었다. 이방법도 아닌거 같았다.
<img src={selectedFile} alt="" />
input태그 아래에 img 태그를 넣고 src로 selectedFile 을 넣으니
사진이 나오긴 했는데 input태그 안으로 들어가는것이아니었다 스타일컴포넌트 부모자식관계로
안으로 넣어 볼려고 했지만 실패 했다 이것을 고민을 해봐야 될거같다.
느낀점