[2021.07.29] React Foundation 1

이닀은·2021λ…„ 8μ›” 7일
0
post-thumbnail

πŸ“Œ Code Review Check Point!

βœ… HTML λ¬΄μ‹œν•˜μ§€ 말자!

  • μ‹œλ§¨ν‹±ν•œ μ½”λ“œλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•œλ‹€
  • νŒŒμΌμ•ˆμ— ν•˜λ‚˜μ˜ μ»΄ν¬λ„ŒνŠΈλ§Œ λ§Œλ“€κΈ°

βœ… CSS도 곡뢀가 ν•„μš”ν•˜λ‹€

  • flex : 정렬이 μ›λž˜ μ„Έλ‘œλ°©ν–₯일 λ•Œ, μ˜λ―Έμ—†μ΄ flexλ₯Ό λ‚¨λ°œν•˜μ§€ 말자.
  • μ—¬λ°± μ˜€μ‚¬μš© : κ°•μ œλ‘œ μœ„μΉ˜/크기λ₯Ό μ§€μ •ν•΄μ„œ ν™”λ©΄ 정쀑앙에 λ†“μ§€λ§μž.
  • height μ•„λ¬΄λ°λ‚˜ 주지 말자

βœ… styled Componentλ₯Ό μ‚¬μš©ν•˜λ©΄μ„œ className을 μ§€μ •ν•˜λŠ” 경우

  • ν˜Ήμ‹œ, styled-component와 css/sassλ₯Ό ν˜Όμš©ν•˜μ—¬ μ‚¬μš©ν•˜λ©΄ μ˜λ„μΉ˜ μ•Šμ€ μ˜€μ—Ό(쀑볡) λ°œμƒμœΌλ‘œ μ–΄λ €μ›Œμ§„λ‹€.

βœ… μœ μ§€λ³΄μˆ˜ν•˜κΈ° μ‰¬μš΄ μ½”λ“œ. μ˜€λ‘œμ§€ κ·Έκ²ƒλ§Œ μƒκ°ν•˜μž

  • μƒμˆ˜λ‘œ 관리해야할 λ³€μˆ˜λ₯Ό 항상 μ—Όλ‘ν•΄λ‘μž!
    export const BASE_URL = `https://jsonplaceholder.typicode.com`;
    export const ERROR_MESSAGE = 'Failed to fetch data';
    export const LIMIT = 10;
    export const DEFAULT_PAGE = 1;

βœ… 게으λ₯Έ κ°œλ°œμžμ—κ²Œ 쒋은 μ½”λ“œκ°€ λ‚˜μ˜¨λ‹€

  • importλŠ” μ ˆλŒ€κ²½λ‘œλ‘œ !
  • import μˆœμ„œλ„ 보기 μ‰½κ²Œ λ‚˜μ—΄ν•΄μ•Όν•œλ‹€.

πŸ“Œ κΌ­ μ•Œκ³ κ°ˆ Keywords

utils ν•¨μˆ˜

  • utils: μ˜μ‘΄μ„± 없이 κ³΅ν†΅μ μœΌλ‘œ 자주 μ‚¬μš©λ˜λŠ” λ‘œμ§μ„ λͺ¨μ•„놓은 폴더
  • μ£Όλ‹ˆμ–΄μ™€ λ―Έλ“€λ ˆλ²¨μ˜ 차이

Client λ¦¬μ†ŒμŠ€λ‘œ 데이터 μ‚¬μš© (mock data)

UI ꡬ성에 ν•„μš”ν•˜μ§€λ§Œ λ°±μ—”λ“œ APIκ°€ μ€€λΉ„λ˜μ§€ μ•Šμ•˜μ„ λ•Œ,
ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμžκ°€ ν•„μš”μ— μ˜ν•΄ μƒ˜ν”Œλ‘œ λ°μ΄ν„°λ‘œ λ§Œλ“€μ–΄ UIλ₯Ό 미리 κ°œλ°œν•  수 μžˆμŠ΅λ‹ˆλ‹€.


βœ… JSON & 톡신

JSON
- JSON(JavaScript Object Notation)은 데이터λ₯Ό μ£Όκ³  받을 수 μžˆλŠ” 데이터 ν˜•μ‹μ΄λ‹€.
- JSON이 μžλ°”μŠ€ν¬λ¦½νŠΈμ™€ 문법과 μœ μ‚¬ν•˜κΈ΄ ν•˜μ§€λ§Œ μžλ°”μŠ€ν¬λ¦½νŠΈλ„ μ•„λ‹ˆκ³ , μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλ§Œ μ‚¬μš©ν•  수 μžˆλŠ” 것도 μ•„λ‹ˆλ‹€. λ§Žμ€ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ JSON νŒŒμ‹±κ³Ό 직렬화λ₯Ό μ§€μ›ν•œλ‹€.

1. JSONμ—μ„œ μ‚¬μš© κ°€λŠ₯ν•œ νƒ€μž…( 6가지 )

  1. string
  2. number
  3. boolean
  4. null
  5. object
  6. array
    β†’ 일반적으둜 객체와 배열이 JSON 데이터 κ΅¬μ‘°μ—μ„œ μ΅œμƒμœ„ λ ˆλ²¨μ— μžˆλ‹€.

    ➑ μ‚¬μš©ν•  수 μ—†λŠ” νƒ€μž…

    • function
    • date
    • undefined

2. μžλ°”μŠ€ν¬λ¦½νŠΈμ™€ λ‹€λ₯Έ 점

  • String을 κ°μŒ€ λ•Œ, "μŒλ”°μ˜΄ν‘œ"만 μœ νš¨ν•¨.
  • 객체의 Property Name도 "μŒλ”°μ˜΄ν‘œ"둜 감싸야함.
    {
    	"name": "wecode"
    }

3. νŒŒμ‹±κ³Ό 직렬화(Parse & Stringify)

  • JSON 데이터λ₯Ό νŒŒμ‹±ν•˜λ©΄ μžλ°”μŠ€ν¬λ¦½νŠΈ 객체가 λ˜μ–΄ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ 데이터λ₯Ό μ‚¬μš©ν•  수 μžˆλŠ” 것이닀.
  • μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œμ˜ JSON κ°μ²΄λŠ” λ¬Έμžμ—΄μ„ JSON νŒŒμ‹±ν•˜κ³  직렬화 ν•˜λŠ” λ©”μ„œλ“œλ₯Ό κ°–κ³  μžˆλ‹€. λ‘κ°œ λ§κ³ λŠ” νŠΉλ³„ν•œκ±° μ—†λ‹€! 끝!
  • stringify(): μžλ°”μŠ€ν¬λ¦½νŠΈ 객체λ₯Ό JSON λ¬Έμžμ—΄λ‘œ 직렬화 ν•œλ‹€.
  • parse(): JSON을 νŒŒμ‹±ν•˜μ—¬ μžλ°”μŠ€ν¬λ¦½νŠΈ κ°’μœΌλ‘œ λ°”κΎΌλ‹€.

4. json 파일둜 λ§Œλ“€μ–΄ ν†΅μ‹ ν•˜λ©΄ λœλ‹€

  • [방법1] public에 json νŒŒμΌμ„ μƒμ„±ν•˜κ³  fetch ν•˜κΈ°
  • [방법2] .json νŒŒμΌμ„ import ν•˜κΈ°

βœ… μƒμˆ˜ 데이터 μ‚¬μš©

  • data ν˜•νƒœ
    • 쉽고 κ°„νŽΈ
    • 직관적
    • jsonμ—μ„œ μ‚¬μš©ν•  수 μ—†λŠ” 문법 μ‚¬μš© κ°€λŠ₯
    const COMMENT_LIST = [
      {
        id: 1,
        userName: 'wecode',
        content: 'Welcome to world best coding bootcamp!',
        isLiked: true
      },
      {
        id: 2,
        userName: 'joonsikyang',
        content: 'Hi there.',
        isLiked: false
      }
    ];

    export default COMMENT_LIST;
profile
단단_ν”„λ‘œνŠΈμ—”λ“œκ°œλ°œμž!

0개의 λŒ“κΈ€