λ€ν¬λͺ¨λμ λΌμ΄νΈλͺ¨λ
UX/UIλμμΈ μκ°μ λΆλ€κ³Ό νμ νμ¬ μ μΈκ³ κ°λ°μλ€μ μμ λ€νΈμν¬ μΉμ¬μ΄νΈμΈ ν΄μ»€ λ΄μ€λ₯Ό λͺ¨λ°μΌ μΉ(Mobile Web) λ²μ μΌλ‘ λ§λ€μ΄λ³΄λ νλ‘μ νΈλ₯Ό μ§νν΄λ³΄μμ΅λλ€!
ν΄μ»€ λ΄μ€κ° μ 곡νλ Hacker News APIλ₯Ό ν΅ν΄ κ°λ°λμμΌλ©° μκ°μ μΌλ‘ νΈλ¦¬νκ² μ΄μ©ν μ μλλ‘ κ΅¬μ±νμ΅λλ€.
μ΄ νλ‘μ νΈλ₯Ό ν΅ν΄ λμμ΄λμμ νμ μ κ²½νν΄λ³Ό μ μμμ΅λλ€.
-
리μ‘νΈμ 리λ λλ§ μ‘°κ±΄
-
stateκ° λ³κ²½λ λ
- μ΅μμμ μλ μ»΄ν¬λνΈμΌμλ‘ stateλ₯Ό μ κ² κ°μ ΈμΌ νλ€λ κ²μ λ°°μ λ€.
-
λΆλͺ¨μκ²μ λ°λ propsκ° λ³κ²½λ λ
- μ΅μμ μ»΄ν¬λνΈλ μ λ³νμ§ μλ propsλ₯Ό 보λ΄λ μ»΄ν¬λνΈ(templateμ λμ κ·λͺ¨)λ‘ μ΄λ£¨μ΄μ Έ μλ κ²μ΄ μ’μ κ² κ°λ€.
-
λΆλͺ¨ μ»΄ν¬λνΈκ° λ³κ²½λ λ
- μ»΄ν¬λνΈλ₯Ό μ κ² μ°λ €κ³ νλ κ²λ μ’μ§λ§, κ·Έλ³΄λ€ μ°μ μ μΌλ‘ λ λλ§μ΄ μ΅μ νλ μ»΄ν¬λνΈ κ΅¬μ‘°λ₯Ό μκ°ν΄μΌνλ€.
-
-
ν useCallbackκ³Ό memo
- memoizationμ νλ€κ³ ν΄λ ν΄λ¦μ κ³μ κ°μ΄ λ³νλ μνμΈ κ²½μ° useCallbackμ΄λ memoλ μλ―Έκ° μλ€.
- κ΅³μ΄ Skeleton Loading λΌμ΄λΈλ¬λ¦¬λ₯Ό μ°μ§ μμλ ꡬνμ΄ μ½κ² κ°λ₯ν κ² κ°μμ μ§μ ꡬνν΄λ³΄μλ€.
- μλ νμΌ κ΅¬μ‘° μ°Έκ³
.root
βββ node_modules
βββ public
βββ src
β βββ assets
β βββ component
β β βββ atom # λ€λ₯Έ μ»΄ν¬λνΈμ κ²°ν©λμ§ μλ μμ μ»΄ν¬λνΈ
β β β βββ skeleton
β β βββ molecules # μ΅λ νλμ μ»΄ν¬λνΈμ κ²°ν©λμ΄ λ°μ€ μμ μΌλΆλΆμ μ°¨μ§νλ μ»΄ν¬λνΈ
β β βββ organisms # ν¬μ€νΈ λ°μ€ ν¬κΈ° μ λμ μ»΄ν¬λνΈ
β β βββ template # μ΅μ 3κ° μ΄μμ μ»΄ν¬λνΈκ° κ²°ν©λμ΄, μ 체 νμ΄μ§μ μΌμ μμμ μ°¨μ§νλ μ»΄ν¬λνΈ
β βββ context
β βββ hooks
β βββ layout
β βββ routes
β βββ pages # λΌμ°ν° μ 체 νμ΄μ§ μ»΄ν¬λνΈ
β βββ theme
β βββ util
βΒ Β βββ App.jsx
β βββ index.css
β βββ index.js
βββ .gitignore
βββ package-lock.json
βββ package.json
βββ README.mdμ΄ νλ‘μ νΈλ₯Ό ν΅ν΄ μ’λ ν¨μ¨μ μΈ ν΄λ ꡬ쑰둀 μκ°ν΄λ³΄κ² λμμ΅λλ€. μ§κΈμ μν λ―Ή λμμΈ ν¨ν΄ κ΅¬μ‘°λ‘ ν΄λλ₯Ό ꡬμ±νλμ§ κΈ°μ‘΄μ νμ΄μ§λ³λ‘ ν΄λλ₯Ό ꡬμ±νλ κ²κ³Ό λΉκ΅ν΄ λλ ·ν μ₯λ¨μ μ΄ μμμ΅λλ€. νΉνλ κ° νμ΄μ§λ³λ‘ 곡μ λλ μ»΄ν¬λνΈκ° λ§λ€λ©΄ μν λ―Ή λμμΈ ν¨ν΄μ μ’μ μ νμ΄ λ κ² κ°μ΅λλ€. λν μ΄ λΆλΆμ μν΄ λμμ΄λμ ν¨κ» 곡μ λ λ§ν μ»΄ν¬λνΈμ λν΄ μμν΄λ³Έ κ²λ μ’μ κ²½νμ΄ λμμ΅λλ€.
κ·Έλ¬λ λ¨μ λ μμλλ° κ° μν λ―Ή λμμΈμ 5λ¨κ³λ‘ λΆλ₯νκΈ° μ΄λ €μ΄ μ»΄ν¬λνΈλ€λ μ‘°κΈ μμλ€λ μ μ λλ€. λν μλ₯Ό λ€μ΄ Aνμ΄μ§μ Bνμ΄μ§μ μꡬμ¬νμ΄ λ¬λΌμ§ κ²½μ° λ³΅μ‘μ±μ΄ μ¬λΌκ°λ€λ μ μ΄μμ΅λλ€.
μν λ―Ή λμμΈ ν¨ν΄μ 100% νμ©νλ€κ³ μκ°νμ§λ μμ§λ§ νλ‘μ νΈμ λ§μΆμ΄ κΈ°μ€μ μκ°ν΄μ λλ¦λλ‘ ν¨μ¨μ μΈ κ΅¬μ‘°λ₯Ό μ§λ³΄λ €κ³ λ Έλ ₯νμ΅λλ€.
ν΄μ»€λ΄μ€ νλ‘μ νΈλ λμμ΄λμ νμ νμ¬ λ§λ€μλ€λ μ μμ λμμ΄λμμ μν΅μ λν΄ μ§μ μ μΌλ‘ κ²½νν΄λ³Ό μ μμλ μμ£Ό μ’μ κΈ°νμμ΅λλ€. νλ‘μ νΈλ₯Ό μ§ννλ©° μ΄λ€ λΆλΆμ λμμ΄λμ μ΄μΌκΈ°ν΄μΌνλμ§, μμ μ λ ν¨μ¨μ μΌλ‘ ν λ°©λ²μ μλμ§ λ±λ±μ λν΄ μ΄μΌκΈ°λ₯Ό λλλ©° μμ£Ό μ¦κ²κ² μμ νμ΅λλ€. λν μ΄ νλ‘μ νΈλ₯Ό ν΅ν΄μ 리μ‘νΈ λ λλ§ μ΅μ νμ μ¬μ©μ μΉνμ UIμ λν΄ λ°°μΈ μ μμμ΅λλ€.π κ·Έλ¦¬κ³ μ΄ νλ‘μ νΈλ₯Ό ν΅ν΄μ λμμΈ ν¨ν΄μ λν μκ°μ νκ² λμκ³ , κ°λ° μ΄κΈ°λΆν° μν λ―Ή λμμΈ ν¨ν΄μ μκ°νλ©° μ»΄ν¬λνΈλ₯Ό λ§λ λ€λ©΄ λ λΉ λ₯΄κ² λμμ΄λμ μν΅νλ©° μμ μ μμν μ μμ§ μμκΉ νλ μκ°μ΄ λ€μμ΅λλ€.

