Skip to content

Convention

Lim Hyunwoo edited this page Apr 17, 2021 · 12 revisions

βœ”οΈ Basic

κΈ°λ³Έ λ£°

  • airbnb style guide (eslint)λ₯Ό λ”°λ₯΄λ©°, κ°œλ°œν•˜λ©΄μ„œ ν•„μš”ν•œ μ˜΅μ…˜λ§Œ λ”°λ₯Έλ‹€.
  • 파일 ν•˜λ‚˜λ‹Ή ν•˜λ‚˜μ˜ μ»΄ν¬λ„ŒνŠΈλ§Œ μ •μ˜ν•œλ‹€.
  • λͺ¨λ“  μ»΄ν¬λ„ŒνŠΈλŠ” 기본적으둜 ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈλ₯Ό μ‚¬μš©ν•œλ‹€.
  • μ˜ˆμ‹œ
function Listing({ hello }) {
  return <div>{hello}</div>;
}

넀이밍

  • μ»΄ν¬λ„ŒνŠΈμ˜ ν™•μž₯μžλŠ” 항상 .tsxλ₯Ό μ‚¬μš©ν•œλ‹€.
  • .jsxλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” νŒŒμΌμ—λŠ” '.ts'λ₯Ό μ‚¬μš©ν•œλ‹€.
  • μ»΄ν¬λ„ŒνŠΈμ˜ 디렉토리 λͺ…은 항상 파슀칼 ν‘œκΈ°λ²•μ„ μ‚¬μš©ν•œλ‹€. (ReservationCard/)
  • μ»΄ν¬λ„ŒνŠΈλ₯Ό μ œμ™Έν•œ λ‹€λ₯Έ νŒŒμΌλ“€μ€ 카멜 ν‘œκΈ°λ²•μ„ μ‚¬μš©ν•œλ‹€. (customHooks.ts)
  • 디렉토리 λͺ…κ³Ό μ»΄ν¬λ„ŒνŠΈμ˜ 이름을 μΌμΉ˜μ‹œν‚¨λ‹€.

βœ”οΈ 디렉토리 ꡬ쑰

전체 디렉토리

src/
  api (fetch)
  assets (이미지, μ•„μ΄μ½˜ λ“± 정적 μžμ›)
  components (λͺ¨λ“  μ»΄ν¬λ„ŒνŠΈ)
  layout (μ»΄ν¬λ„ŒνŠΈλ“€μ„ 감싸 νŽ˜μ΄μ§€μ˜ λ ˆμ΄μ•„μ›ƒμ„ μ •μ˜ν•˜λŠ” κ³³)
  pages (λ ˆμ΄μ•„μ›ƒμ„ 가져와 μ΅œμ’…μ μœΌλ‘œ 뷰둜 λ³΄μ—¬μ§€λŠ” κ³³)
  helpers (λ¬Έμžμ—΄ μœ νŒ…, λ°°μ—΄ μœ ν‹Έ λ“±)
  hooks (λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ μœ„ν•œ μ»€μŠ€ν…€ ν›…λ“€(dispatch to redux, get data))
  models (νƒ€μž…μŠ€ν¬λ¦½νŠΈ μΈν„°νŽ˜μ΄μŠ€)
  store (λ¦¬λ•μŠ€ store)
  slices (createSlice for redux toolkit)

components

src/
  components/
        Button/
          index.tsx (component)
          style.ts (styled-components)
        Card/
          index.tsx
          style.ts
  • μž¬μ‚¬μš©μ΄ μˆ˜μ›”ν•˜κ²Œ κ°€μž₯ μž‘μ€ λ‹¨μœ„μ˜ μ—˜λ¦¬λ¨ΌνŠΈλ§Œ μ •μ˜ν•œλ‹€.
  • 각 μš”μ†Œμ˜ 세뢀적인 μŠ€νƒ€μΌμ„ μ •μ˜ν•œλ‹€.
    • ex: λ²„νŠΌν¬κΈ°, λ²„νŠΌμƒ‰μƒ λ“±

layout

src/
  layout/
      Header/
        index.tsx
        styled.ts
      Footer/
        index.tsx
        styled.ts
  • μ»΄ν¬λ„ŒνŠΈλ“€μ΄ λͺ¨μ—¬ ν•˜λ‚˜μ˜ μ„Ήμ…˜μ„ 이룬닀.
  • 개인적인 μƒκ°μœΌλ‘  λ ˆμ΄μ•„μ›ƒ λ‹¨κ³„λŠ” μž¬μ‚¬μš©μ΄ 쉽지 μ•Šμ•„ μ΄λΆ€λΆ„μ—μ„œ state, propsλ₯Ό μ‚¬μš©ν•˜λ©΄ μ–΄λ–¨κΉŒ ν•œλ‹€.
  • μ„Ήμ…˜ λ‹¨μœ„μ˜ μŠ€νƒ€μΌμ„ μ •μ˜ν•œλ‹€.
    • ex: 헀더, ν‘Έν„°, κΈ€ μž‘μ„± 폼 λ“±

pages

src/
  pages/
      Home/
        index.tsx
        styled.ts
      About/
        index.tsx
        styled.ts
  • λ ˆμ΄μ•„μ›ƒλ“€μ΄ λͺ¨μ—¬ ν•˜λ‚˜μ˜ νŽ˜μ΄μ§€λ₯Ό 이룬닀.
  • νŽ˜μ΄μ§€ λ‹¨μœ„μ˜ μŠ€νƒ€μΌμ„ μ •μ˜ν•œλ‹€.
    • ex: 배경색, 크기 λ“±

πŸ“Œ Project

🀝 Rules

πŸ›  Settings

πŸ“š Studies

πŸ€” Meeting

Clone this wiki locally