• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 리액트 디자인패턴 및 구조

리액트 디자인패턴 및 구조

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #15620

    고은찬
    참가자

    안녕하세요 강의를 다 보고 리액트로  클럽하우스와 비슷한 서비스를 만들고 있습니다.  (규모가 큰 서비스는 아닙니다.)

    강의와 관련된 질문은 아닙니다만 질문 드려봅니다. 

    실제로 서비스를 만들다 보니 예제에 있는 스타일대로 별 규칙 없이 되는대로 만들면 후에 유지보수와 다른팀원들과  협업할 때 어려움을 겪을 것 같아 디자인패턴과 폴더 구조를 찾아보았습니다. 

    Atomic Design Pattern : 컴포넌트를 원자단위로 쪼개 컴포넌트의 재사용성을 높힌 방법
    Presentational and Container Component Pattern : Hook의 개념이 존재하지 않았던 이전에, 로직과 view를 분리하기 위한 방법
    Flux Pattern : 2014년 페이스북 발표, 기존 MVC 패턴의 단점을 보완하며  Redux와 함께 사용되는 방법 
    MVC,MVVM Pattern : 기존 개발에서 많이 쓰이는 디자인 패턴 , 리액트에서는 좀 비효율적이라고 함 

    간략하게 찾아본 패턴들의 특징? 요약 입니다.

    위 것들을 찾아보았는데 봐도 어떤걸 적용해야 할지, 어떤 기준으로 선택해서 하는 것이 좋을지 잘 판단이 안서서  질문 드립니다. 

    정답이 있는문제는 아닙니다만 현업에서 자주 사용되는 방식이 있는지, 아니면 코딩애플님이 추천하시는 어떤 방식이 있는지 궁금합니다. 

     

    현재 사용하고 있는 방식은

    src
    ㄴAssets
          ㄴ 이미지들..

    ㄴGlobal
          ㄴ reset.css

    ㄴ Nav
          ㄴ mainnavi.js
          ㄴ mainnavi.scss
          ㄴ subnavi.js
          ㄴ subnavi.scss

    ㄴ Login
          ㄴ login.js
          ㄴ login.scss
    ㄴ Main
          ㄴ main.js
          ㄴ main.scss
          ㄴ noticePopup.js
          ㄴ noticePopup.scss

    ㄴ Myprofile
          ㄴ myprofile.js
          ㄴ myprofile.scss
          ㄴ editprofilePopup.js
          ㄴ editprofilePopup.scss

     

    이런식으로 기능별로 나누어서 js안에 마크업과 js기능들을 한번에 작성하는 방식이었습니다. (그냥 참고용..)

    어떤방식으로 방향을 잡아야 할지 조언 부탁드립니다. 

     

    #15624

    codingapple
    키 마스터

    조그만한 사이트는 그냥 components 폴더 만들고 다 넣으면 되는데 

    큰 사이트라면 대충 

    페이지용 js 파일들은 /pages

    재사용하는 작은 컴포넌트 js 파일들은 /components

    리덕스 파일들은 /store

    js 파일을 돕는 유용한 함수들은 /utils

    이런식인데 

    폴더구조는 원래 그냥 비슷한 파일들 계속 폴더로 묶다보면 자연스럽게 나옵니다 

     

     

    #15628

    고은찬
    참가자

    답변 감사드립니다!! 

    그럼 혹시 리액트 디자인패턴에 대해서는 어떻게  생각하시나요?!

    #15633

    codingapple
    키 마스터

    리액트는 그냥 html view 부분 만들어주는 쪼만한 라이브러리라

    디자인 패턴이 있다기 보다는 그냥 component, props, state, 일반함수 만들 때

    확장성 좋고 수정 편리하게 코드만 잘짜면 됩니다 

     

    리덕스를 사용할 경우 명확한 코드 디자인 패턴이 존재하는데

    state를 store.js에 보관하고 

    그 옆에 reducer로 state 수정방법을 나열하고

    컴포넌트들은 store.js에 부탁만 하는 식으로 코드짜는게 디자인 패턴이겠군요 

    그거 밖에 없습니다

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠