๐ 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 |