SPA(Single Page Application) : ํ ๊ฐ์ ํ์ด์ง๋ก ์ด๋ฃจ์ด์ง ์ ํ๋ฆฌ์ผ์ด์
์ ํต์ ์ธ ์น ๋ฐฉ์(SSR : ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง) ์ ์ฌ์ฉ์๊ฐ ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ ๋๋ง๋ค ์๋ก์ด html ์ ๋ฐ์์ค๊ณ ํ์ด์ง๋ฅผ ๋ก๋ฉํ ๋๋ง๋ค ์๋ฒ์์ ๋ฆฌ์์ค๋ฅผ ์ ๋ฌ๋ฐ์ ํด์ํ ๋ค ํ๋ฉด์ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ์์ด์๋ค. ์ฆ, ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด์ ์๋ฒ์์ ์ค๋นํ๋ค. ์ด์ฒ๋ผ ์ ํต์ ์ธ ์น ๋๋ถ๋ถ์ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง ๋ฐฉ์์ด๋ค. ๊ทธ๋ฌ๋ ์์ฆ์๋ ์น์์ ์ ๊ณตํ๋ ์ ๋ณด๊ฐ ์ ๋ง ๋ง๊ธฐ ๋๋ฌธ์ ์๋ก์ด ํ๋ฉด์ ๋ณด์ฌ์ค ๋๋ง๋ค ์๋ฒ์์ ๋ชจ๋ ๋ทฐ๋ฅผ ์ค๋นํ๋ค๋ฉด ์ฑ๋ฅ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. (ํธ๋ํฝ, ์๋ฒ์ ๋์ ๋ถํ ๋ฑ)
๊ทธ๋์ ๋ฆฌ์กํธ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํน์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ทฐ ๋ ๋๋ง์ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ด๋นํ๋๋ก ํ๊ณ ์ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ธ๋ผ์ฐ์ ์ ๋ถ๋ฌ์์ ์คํ์ํจ ํ ์ฌ์ฉ์์์ ์ธํฐ๋์ ์ด ๋ฐ์ํ๋ฉด ํ์ํ ๋ถ๋ถ๋ง ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ฐ์ดํธ ํ๋ค.
SPA ์ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ ๋๋ง (CSR : ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ ๋๋ง) ๋ฐฉ์์ด๋ค. ์๋ฒ์์ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ ํ์ด์ง๋ ํ ์ข ๋ฅ์ด์ง๋ง, ํด๋น ํ์ด์ง์์ ๋ก๋ฉ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์ฌ ์ฌ์ฉ์ ๋ธ๋ผ์ฐ์ ์ ์ฃผ์ ์ํ์ ๋ฐ๋ผ ๋ค์ํ ํ๋ฉด์ ๋ณด์ฌ์ค ์ ์๋ค.
๋ค๋ฅธ ์ฃผ์์ ๋ค๋ฅธ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ ๋ผ์ฐํ ์ด๋ผ๊ณ ํ๋ค. ๋ฆฌ์กํธ ๋ผ์ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฆฌ์กํธ ๋ผ์ฐํฐ, ๋ฆฌ์น ๋ผ์ฐํฐ, Next.js ๋ฑ์ด ์๋ค. ๋ฆฌ์กํธ ๋ผ์ฐํฐ๋ ํด๋ผ์ด์ธํธ ์ฌ์ด๋์์ ์ด๋ฃจ์ด์ง๋ ๋ผ์ฐํ ์ ์์ฃผ ๊ฐ๋จํ๊ฒ ๊ตฌํํ ์ ์๋๋ก ํ๋ฉฐ ๋ ๋์๊ฐ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง์ ํ ๋ ๋ผ์ฐํ ์ ๋์์ฃผ๋ ์ปดํฌ๋ํธ๋ฅผ ์ ๊ณตํ๋ค.
SPA ์ ๋จ์ ์ ์ฑ์ ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ด ๋๋ฌด ์ปค์ง๋ค๋ ๊ฒ์ด๋ค. ํ์ด์ง ๋ก๋ฉ ์ ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ๋ฐฉ๋ฌธํ์ง ์์ ์๋ ์๋ ํ์ด์ง์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ถ๋ฌ์ค๊ธฐ ๋๋ฌธ์ด๋ค.
Link ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์ฃผ์๋ก ์ด๋ํ๊ธฐ
Link ์ปดํฌ๋ํธ๋ ํด๋ฆญํ๋ฉด ๋ค๋ฅธ ์ฃผ์๋ก ์ด๋ํ๋ ์ปดํฌ๋ํธ์ด๋ค. ์ผ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์๋ a ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ง๋ฅผ ์ ํํ๋๋ฐ, ๋ฆฌ์กํธ ๋ผ์ฐํฐ๋ฅผ ์ฌ์ฉํ ๋๋ ์ด ํ๊ทธ๋ฅผ ์ง์ ์ฌ์ฉํ๋ฉด ์ ๋๋ค. a ํ๊ทธ๋ ํ์ด์ง๋ฅผ ์ ํํ๋ ๊ณผ์ ์์ ํ์ด์ง๋ฅผ ์๋ก ๋ถ๋ฌ์ค๊ธฐ ๋๋ฌธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ค๊ณ ์๋ ์ํ๋ค์ ๋ชจ๋ ๋ ๋ฆฌ๊ฒ ๋๋ค. ๋ ๋๋ง๋ ์ปดํฌ๋ํธ๋ค๋ ๋ชจ๋ ์ฌ๋ผ์ง๊ณ ๋ค์ ์ฒ์๋ถํฐ ๋ ๋๋งํ๊ฒ ๋๋ ๊ฒ์ด๋ค.
Link ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ง๋ฅผ ์ ํํ๋ฉด ํ์ด์ง๋ฅผ ์๋ก ๋ถ๋ฌ์ค์ง ์๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ทธ๋๋ก ์ ์งํ ์ํ์์ HTML5 History API ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ง์ ์ฃผ์๋ง ๋ณ๊ฒฝํ๋ค. Link ์ปดํฌ๋ํธ ์์ฒด๋ a ํ๊ทธ๋ก ์ด๋ฃจ์ด์ ธ ์์ง๋ง ํ์ด์ง ์ ํ์ ๋ฐฉ์งํ๋ ๊ธฐ๋ฅ์ด ๋ด์ฅ๋์ด ์๋ค.
'JavaScript > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] ํจ์ ์ปดํฌ๋ํธ์์ ๋ฆฌ๋ ๋๋ง ์ต์ ํ๋ฅผ ์ํ ๋ฐฉ๋ฒ (0) | 2021.10.27 |
---|---|
[React] Hooks ์ ๋ฆฌ (0) | 2021.10.26 |
[React] ์ปดํฌ๋ํธ ์์๋ณด๊ธฐ (0) | 2021.10.26 |
[React] ๊ธ์ฐ๊ธฐ ๊ธฐ๋ฅ ๊ตฌํํ๊ธฐ (0) | 2021.10.22 |
[React] Redux ํด๋ ๊ตฌ์กฐ ์ ๋ฆฌํ๊ธฐ (0) | 2021.10.21 |
๋๊ธ