API νμ μΆλ‘ κ°μ
μλ νμ μμ±
λ°±μλ β νλ‘ νΈμλμλ μμ
λΆνμ
μμ ν μΆλ‘
νλΌλ―Έν°λΆν° μλ΅κΉμ§λͺ¨λ νμ
보μ₯
μ€μκ° λκΈ°ν
API λ³κ²½ μμλ μ
λ°μ΄νΈ
IDE μ§μ
μλ μμ±νμ
ννΈ
νμ μΆλ‘ μ΄λ?
λ¬Έμ : μλ νμ μ μμ μ΄λ €μ
μ ν΅μ μΈ κ°λ°μμλ λ°±μλμ νλ‘ νΈμλμ νμ μ κ°κ° μλμΌλ‘ μ μν΄μΌ ν©λλ€.- μ€λ³΅ μμ : λ°±μλμ νλ‘ νΈμλμμ κ°μ νμ λ λ² μ μ
- λκΈ°ν λλ½: λ°±μλ λ³κ²½ μ νλ‘ νΈμλ νμ μ λ°μ΄νΈ λλ½
- λ°νμ μλ¬: νμ λΆμΌμΉλ₯Ό λ°νμμλ§ λ°κ²¬
- μ μ§λ³΄μ μ΄λ €μ: νμ μ΄ λ§μμ§μλ‘ κ΄λ¦¬ 볡μ‘λ μ¦κ°
ν΄κ²°: μλ νμ μΆλ‘
Sonamuλ λ°±μλ νμ μ μλμΌλ‘ μΆλ‘ νμ¬ νλ‘ νΈμλμ μ λ¬ν©λλ€.- λ°±μλ νμ μ΄ νλ‘ νΈμλμ μλμΌλ‘ 볡μ¬λ¨
- API λ³κ²½ μ μλμΌλ‘ λκΈ°νλ¨
- λ¨μΌ μ§μ€ 곡κΈμ (λ°±μλκ° μ μΌν νμ μμ€)
νμ μΆλ‘ κ³Όμ
1λ¨κ³: λ°±μλ API μ μ
TypeScript νμ μ ν¬ν¨νμ¬ APIλ₯Ό μ μν©λλ€.- λ°ν νμ μ λͺ μμ μΌλ‘ μ μΈ
- μ€μ²© κ°μ²΄, μ λμ¨ νμ , 리ν°λ΄ νμ λͺ¨λ μ§μ
- TypeScriptμ λͺ¨λ νμ κΈ°λ₯ νμ© κ°λ₯
2λ¨κ³: AST νμ±
Sonamuλ TypeScript μ»΄νμΌλ¬ APIλ₯Ό μ¬μ©νμ¬ μ½λλ₯Ό λΆμν©λλ€.- TypeScript μ½λλ₯Ό νΈλ¦¬ κ΅¬μ‘°λ‘ νν
- νμ μ 보λ₯Ό νλ‘κ·Έλλ° λ°©μμΌλ‘ μΆμΆ κ°λ₯
- 100% μ νν νμ μ 보 νλ
3λ¨κ³: Service νμ μμ±
μΆμΆν νμ μ Service μ½λμ μ½μ ν©λλ€.- μ λμ¨ νμ
(
"admin" | "user") - μ€μ²© κ°μ²΄
- λ°°μ΄ νμ
- Date, null, undefined λ± λͺ¨λ TypeScript νμ
4λ¨κ³: TanStack Query Hook μμ±
React Hookμλ νμ μ΄ μ νν μ λ¬λ©λλ€.κ³ κΈ νμ μΆλ‘
μ λ€λ¦ νμ
μ λ€λ¦μ μ¬μ©νλ APIλ μ νν μΆλ‘ λ©λλ€.Subset μμ€ν
Subset νμ λ μλμΌλ‘ μμ±λ©λλ€.UserSubsetMapping[T]λ‘ Subsetμ λ°λ₯Έ μ νν νμ λ°ν- TypeScriptμ μ‘°κ±΄λΆ νμ νμ©
볡μ‘ν μ€μ²© ꡬ쑰
κΉκ² μ€μ²©λ νμ λ μ νν μΆλ‘ λ©λλ€.μ€μ νμ©
React μ»΄ν¬λνΈ
νμ μ΄ μλμΌλ‘ μΆλ‘ λμ΄ IDE μ§μμ λ°μ΅λλ€.data.μ λ ₯ μuser,statsμλ μ μdata.user.μ λ ₯ μ λͺ¨λ νλ μλ μ μ- μλͺ»λ νλ μ κ·Ό μ μ¦μ μλ¬ νμ