Frontend/ReactJS

리액트 프로젝트 디렉토리 구조

findmypiece 2021. 3. 3. 13:13
728x90

더 좋은 방법도 많겠지만 나는 아래와 같이 사용하고 있다.

└── src
    ├── components
    ├── containers
    ├── lib
    │   ├── redux
    │   ├── rest
    │   └── utils
    └── pages

src/components

상태 관리가 이루어지지 않고 그저 props를 받아와서
화면에 UI로 나타나는 프레젠테이셔널 컴포넌트 생성

 

src/containers

리덕스와 연동되어 리덕스 스토어에서 상태값을 구독하고

디스패치 함수를 정의하는 컨테이너 컴포넌트 생성.

구독한 상태값과 디스패치 함수는 프레젠테이셔널 컴포넌트 에 props로 전달되어

각각 동적데이터를 데이터를 완성하거나 이벤트 함수에 연결된다.

 

src/lib/redux

기능별로 액션 타입, 액션 생성 함수, 리듀서, 사가 코드를 통합한 
Ducks 패턴로 정의된 리덕스 모듈 생성.
디렉토리 내 index.js 파일에서 리듀서와 사가를 통합한다.

 

src/lib/rest

uri 별로 endpoint가 정의된 restApi 모듈을 정의한다.

 

src/lib/utils

Api 비동기처리, 커스텀 Hooks 등 여러 컴포넌트에서 사용되는 공통함수를 정의한다

 

src/pages

컴포넌트를 조합해서 화면에 페이지 단위로 보여지는 컴포넌트를 정의한다.

728x90

'Frontend > ReactJS' 카테고리의 다른 글

코드 스플리팅(spliting)  (0) 2021.03.03
json-server 를 이용한 테스트용 api 서버 구성  (0) 2021.03.03
mac+intellij 에서 리액트 시작하기...  (0) 2021.03.03
컴포넌트 성능 최적화  (0) 2021.03.03
useRef  (0) 2021.03.03