Daily/Today I Learned

22.06.03_TIL

ν˜Έλ°€μ΄ 2022. 6. 3. 17:17

πŸ“Œ Reactμ—μ„œ 핡심 κΈ°λŠ₯이라고 μƒκ°λ˜λŠ” Single Page Appliacion을 ν•™μŠ΅ν•˜λŠ” 날이닀. μ€‘μš”ν•˜λ‹ˆκΉŒ κΌ­ κΈ°μ–΅ν•˜λ„λ‘ ν•˜μž!

 

 

πŸ“— 였늘 ν•™μŠ΅ν•œ λ‚΄μš©

React

  • SPA(Single Page Application)
    • μ„œλ²„λ‘œλΆ€ν„° μ™„μ „νžˆ μƒˆλ‘œμš΄ νŽ˜μ΄μ§€λ₯Ό λΆˆλŸ¬μ˜€λŠ” 것이 μ•„λ‹ˆλΌ, 화면을 μ—…λ°μ΄νŠΈ ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ λ°μ΄ν„°λ§Œ μ„œλ²„μ—μ„œ 전달받아 λΈŒλΌμš°μ €μ—μ„œ ν•΄λ‹Ήν•˜λŠ” λΆ€λΆ„λ§Œ μ—…λ°μ΄νŠΈ ν•˜λŠ” 방식
  • SPA μž₯점
    • μ‚¬μš©μžμ™€μ˜ μƒν˜Έμž‘μš©μ΄ λΉ λ₯΄κ²Œ λ°˜μ‘ν•œλ‹€.
    • ν•„μš”ν•œ λ°μ΄ν„°λ§Œ μ„œλ²„μ—μ„œ 전달받기 λ•Œλ¬Έμ— μ„œλ²„ κ³ΌλΆ€ν™” λ¬Έμ œκ°€ ν•΄κ²°λœλ‹€.
    • 더 λ‚˜μ€ μœ μ €μ˜ μ‚¬μš©ν™˜κ²½μ„ μ œκ³΅ν•œλ‹€.
  • SPA 단점
    • JS 파일의 크기가 크닀.
    • JS νŒŒμΌμ„ κΈ°λ‹€λ¦¬λŠ” μ‹œκ°„μœΌλ‘œ 처음 λ‘œλ”©ν•˜λŠ” μ‹œκ°„μ΄ κΈΈλ‹€.
    • 검색 엔진 μ΅œμ ν™”(SEO)κ°€ 쒋지 μ•Šλ‹€.

와이어 ν”„λ ˆμž„

  • μ›Ή νŽ˜μ΄μ§€μ˜ λ ˆμ΄μ•„μ›ƒκ³Ό UI μš”μ†Œλ“€μ— λŒ€ν•œ λΌˆλŒ€
  • μˆœμ„œ:
    • μ»΄ν¬λ„ŒνŠΈ ꡬ성 → μ„€κ³„λ‘œμ§ → μ»΄ν¬λ„ŒνŠΈμ˜ λ‚΄μš© ꡬ성

React Routing

  • ν•˜λ‚˜μ˜ νŽ˜μ΄μ§€λ₯Ό 가지고 μžˆμ§€λ§Œ ν•œ μ’…λ₯˜μ˜ ν™”λ©΄λ§Œ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
  • Routiong: μ£Όμ†Œμ— 따라 λ‹€λ₯Έ λ·°λ₯Ό λ³΄μ—¬μ£ΌλŠ” κ³Όμ •

React Rout 라이브러리

  • BrowserRouter(Router)
    • λΈŒλΌμš°μ €μ˜ μ£Όμ†Œλ₯Ό κ°μ§€ν•œλ‹€.
  • Routes(Rout matchers)
    • μ—¬λŸ¬ Routeλ₯Ό κ°μ‹Έμ„œ ν•˜λ‚˜λ§Œ λ Œλ”λ§ ν•œλ‹€.
  • Route(Rout matchers)
    • λžœλ”λ§ ν•  μ»΄ν¬λ„ŒνŠΈμ˜ 이름 및 경둜λ₯Ό μ§€μ •ν•œλ‹€. 
    • path: 경둜
    • element: μ»΄ν¬λ„ŒνŠΈ
  • Link(ROute changers)
    • aνƒœκ·Έμ™€ κΈ°λŠ₯은 λΉ„μŠ·ν•˜λ‚˜ μƒˆλ‘œκ³ μΉ¨μ„ ν•˜μ§€ μ•Šκ³  URL만 λ³€κ²½ν•œλ‹€.
  • useNavigate
    • νŠΉμ • μ΄λ²€νŠΈκ°€ λ°œμƒν–ˆμ„ λ•Œ, URL을 μ‘°μž‘ν•  수 μžˆλŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•œλ‹€.

React Rout 라이브러리 μ„€μΉ˜

  • npm install react-router-dom@^6.3.0
  • import {BrowserRouter, Routes, Route, Link} from "react-router-dom"

 

 

πŸ“˜ μΆ”κ°€λ‘œ 곡뢀할 λ‚΄μš©

React

  • λ…Έλ§ˆλ“œ 코더 React μ˜ν™” μ›Ή 클둠(진행쀑)
  • State
  • Props

 

 

πŸ“ 였늘 λŠλ‚€ 점 & 마음 가짐

  • λ‹€μŒμ£ΌλŠ” State, Propsλ₯Ό κ³΅λΆ€ν•˜λŠ”λ° μ–΄λ ΅λ‹€κ³  흔듀리지 말자!

'Daily > Today I Learned' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

22.06.07_TIL  (0) 2022.06.08
22.06.04_TIL  (0) 2022.06.04
22.06.02_TIL  (0) 2022.06.01
22.05.31_TIL  (0) 2022.05.31
22.05.30_TIL  (0) 2022.05.30