데브허브 | DEVHUB | Upload Multiple Files with Progress Bars in React (Complete Tutorial)Upload Multiple Files with Progress Bars in React (Complete Tutorial)
- React에서 여러 파일을 동시에 업로드하고 각 파일의 진행률을 시각적으로 표시하는 기능을 구축하는 방법을 다룹니다. 📂
- React 모범 사례와 디자인 패턴을 따라 깨끗하고 재사용 가능한 컴포넌트 구조를 강조합니다. ✨
- 파일 상태 관리를 위해
id, file, progress, uploaded 정보를 포함하는 FileWithProgress라는 커스텀 TypeScript 타입을 정의합니다. 📝
- 파일 선택을 위한
FileInput 컴포넌트는 숨겨진 HTML input 태그와 이를 트리거하는 label 버튼으로 구성됩니다. 🕵️♀️
useRef를 사용하여 파일 선택 후 실제 input 요소의 값을 수동으로 초기화하여 상태와 동기화합니다. 🧹
- 선택된 파일들을 상태에 저장하고, 파일 아이콘 및 크기 포맷팅을 위한 헬퍼 함수를 제공하여 UI에 표시할 준비를 합니다. 🖼️
FileList 컴포넌트는 FileWithProgress 배열을 받아 개별 파일 항목을 렌더링하며, 파일 제거 및 업로드 중 상태를 관리합니다. 🧩