doWorkλ νμ μ μν΄ μ€μΌμ₯΄μ κ΄λ¦¬ν μ μλ μλΉμ€μ΄λ€. νμ΄μ΄λ² μ΄μ€λ₯Ό μ΄μ©νμ¬ λ°μ΄ν° λ°μΈλ©νκ³ μλ€. νμ¬ typescriptλ₯Ό μ μ©νλ©° κΈ°μ μ μΌλ‘λ UI μΈ‘λ©΄μΌλ‘ 리λ΄μΌνκ³ μλ€. λΈλ μΈ μ€ν λ°μ ν΅ν΄ workμ λν μκ°μ μ 리νμκ³ κΈ°νμ λ§κ² κΈ°λ₯λ€μ ꡬνν΄λκ° κ²μ΄λ€.
- λΈλ μΈ μ€ν λ°
- Process Flow
- λμμΈ : doWork Figma
νμ¬ μλ κΈ°λ₯λ€μ΄ ꡬνλμ΄ μμ΅λλ€.
- λ‘κ·ΈμΈ
- νμκ°μ
- λ©μΈ
- μ€μΌμ₯΄ κ²μ
- μ€μΌμ₯΄ νμλΌμΈ
- status νν°
- μΊλ¦°λ
- μ€μΌμ₯΄ μΆκ° λͺ¨λ¬
- datepicker
- μ¬μ©μ κ²μ
- μ€μΌμ₯΄ μ‘°ν/μμ λͺ¨λ¬
- λ§μ΄νμ΄μ§
- λ‘κ·Έμμ
π deeWork/
βββ π public/
βββ π src/
| βββ π assets/
| βββ π components/
| βββ π pages/
| βββ π types/
| βββ π App.tsx
| βββ π Constant.ts
| βββ π firebase.ts
| βββ π index.tsx
| βββ π router.tsx
βββ βοΈ ts.confing.json
βββ π¦ package.json
- assets : μ΄λ―Έμ§μ scssκ°μ μ μ μΈ νμΌμ λ΄μ ν΄λ
- components : μμ λ¨μμ μ»΄ν¬λνΈλ₯Ό λ΄μ ν΄λ
- pages : νλ©΄μ ꡬμ±νλ μ»΄ν¬λνΈλ₯Ό λ΄μ ν΄λ
- types : κΈλ‘λ²λ‘ μ μΈλμ΄μΌ νλ νμ λ€μ λ΄μ ν΄λ
-
typescript μ μ©μ λ°λ₯Έ νμ μ€λ₯
- μμΈ : λΉλκΈ° νΈμΆνλ ν¨μ λΆλΆμμ returnκ°μ νμ μ λν μ€λ₯κ° λ°μνλ€.
- ν΄κ²° : async & await λ¬Έμ return κ°μ Promise<T>μ ννλ‘ μ§μ λμ΄μΌ νλ€.
const request = async (url: string, options : Options): Promise<any> => { try { const response = await fetch(url, options); const json = await response.json(); if(response.ok){ return response.json(); } throw new Error('μλ¬μ λλ€.') } catch (e) { console.log(e); } };
-
Unexpected any. Specify a different type.eslint@typescript-eslint/no-explicit-any μ€λ₯ : νμ anyμ λ Έλμ λ¬Όκ²°
- μμΈ : eslintκ° λͺ μμ μΌλ‘ μ μΈλλ anyλ₯Ό λ°©μ§νκΈ° μνμ¬ λ¨λ κ²½κ³ μ΄λ€.
- ν΄κ²° : eslintrc.jsμ "@typescript-eslint/no-explicit-any": "off" μΆκ°
-
μΈν°νμ΄μ€ νμ μ€μ μ λ°λ₯Έ λ¬Έμ μ
- μμΈ : μμ κ°μ λ΄μ©μ λ΄μ μΈν°νμ΄μ€λ₯Ό κ° μ»΄ν¬λνΈμμ μμ±νμ¬ μ¬μ©ν κ²½μ° μλ‘ λ€λ₯Έ μΈν°νμ΄μ€λ‘ μΈμ
- ν΄κ²° : μΈν°νμ΄μ€λ₯Ό μ μνλ νμΌμ λ§λ€μ΄ exportνμ¬ μ¬μ©
-
μΊλ¦°λ νμλΌμΈ νλ©΄ νμλ μ κ²ΉμΉμ§ μμλ μμΉκ° 0μμλΆν° μμνμ§ μλ λ¬Έμ .
- μμΈ : topμ κ°μ indexμ λ°λΌ μ£ΌμκΈ° λλ¬Έ.
- ν΄κ²° : νμ¬ ν΄κ²° μ€μ λλ€.
νκ³ λ‘μ 보μλ €λ©΄ μ¬κΈ°λ₯Ό ν΄λ¦ν΄μ£ΌμΈμ:)