-
Notifications
You must be signed in to change notification settings - Fork 0
Convention
Lim Hyunwoo edited this page Apr 17, 2021
·
12 revisions
-
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)
src/
components/
Button/
index.tsx (component)
style.ts (styled-components)
Card/
index.tsx
style.ts
- μ¬μ¬μ©μ΄ μμνκ² κ°μ₯ μμ λ¨μμ μ리먼νΈλ§ μ μνλ€.
- κ° μμμ μΈλΆμ μΈ μ€νμΌμ μ μνλ€.
- ex: λ²νΌν¬κΈ°, λ²νΌμμ λ±
src/
layout/
Header/
index.tsx
styled.ts
Footer/
index.tsx
styled.ts
- μ»΄ν¬λνΈλ€μ΄ λͺ¨μ¬ νλμ μΉμ μ μ΄λ£¬λ€.
- κ°μΈμ μΈ μκ°μΌλ‘ λ μ΄μμ λ¨κ³λ μ¬μ¬μ©μ΄ μ½μ§ μμ μ΄λΆλΆμμ state, propsλ₯Ό μ¬μ©νλ©΄ μ΄λ¨κΉ νλ€.
- μΉμ
λ¨μμ μ€νμΌμ μ μνλ€.
- ex: ν€λ, νΈν°, κΈ μμ± νΌ λ±
src/
pages/
Home/
index.tsx
styled.ts
About/
index.tsx
styled.ts
- λ μ΄μμλ€μ΄ λͺ¨μ¬ νλμ νμ΄μ§λ₯Ό μ΄λ£¬λ€.
- νμ΄μ§ λ¨μμ μ€νμΌμ μ μνλ€.
- ex: λ°°κ²½μ, ν¬κΈ° λ±