본문 바로가기

리액트

✅ 11편. 리액트 프로젝트 폴더 구조 설계 Best Practice

✅ 리액트 프로젝트 폴더 구조 설계 Best Practice


리액트 프로젝트는 규모가 커질수록 폴더 구조가 매우 중요합니다.
깔끔한 구조는 협업과 유지보수에 핵심적인 역할을 합니다.
아래는 가장 널리 쓰이는 Best Practice 구조입니다.


✔ 기본 추천 폴더 구조

src/
assets/
components/
pages/
hooks/
utils/
services/
store/
styles/
App.js
index.js


✔ 폴더별 역할

📁 components/
재사용 가능한 UI 컴포넌트
예: Button, Card, Modal
📁 pages/
라우터와 연결된 페이지 단위 컴포넌트
예: HomePage, LoginPage
📁 hooks/
Custom Hook 저장소
예: useInput, useFetch
📁 services/
API 통신 관련 코드
예: axios.create() 인스턴스, API 함수 모음
📁 store/
상태 관리(Redux, Recoil 등)
📁 utils/
공용 함수들
예: dateFormat, numberFormat
📁 assets/
이미지, svg, fonts 등 정적 리소스


✔ 실무에서 자주 쓰는 팁

폴더명은 소문자, 컴포넌트 파일은 PascalCase
페이지는 이름 뒤에 "Page"를 붙여 명확히 구분
컴포넌트 단위 폴더 구조 유지
API 요청은 반드시 services/로 분리
상태 관리(store)와 hooks를 명확하게 구분