๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Daily/Today I Learned

22.06.03_TIL

by ํ˜ธ๋ฐ€์ด 2022. 6. 3.

๐Ÿ“Œ 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