#1 FRAMEWORK OVERVIEW
#1.0 Library vs Framework
Library
๊ฐ๋ฐ์๋ก์ ์ฌ์ฉํ๋๊ฒ? ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด ๋ฌด์ธ๊ฐ๋ฅผ ํ ์์์ ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฃจํธ๊ฐ ๋๋ index ํ์ผ์์ ์์ํด์ ์์ ๋กญ๊ฒ ์ํ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํจ
Framework
์ฝ๋๋ฅผ ๋ถ๋ฌ์ค๋๊ฒ, ํน์ ํ ๊ท์น์ ๋ฐ๋ผ ์ฝ๋๊ฐ ์คํ๋จ.
โ
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์์ ๋กญ๊ฒ ์ฝ๋๋ฅผ ์์ฑํด ์ํ๋ ๊ตฌํ์ ๋ง๋ค์ด ๋ด๋๊ฒ์ด๊ณ , ํ๋ ์์ํฌ๋ ์ ํด์ง ํ ์์์ ๊ท์น์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ
#1.1 Pages
PAGES ํด๋ ์์ ์ํ๋ url๋ก ํ์ผ๋ช ์ ์ ํด ๋ฃ๊ณ export default ์ค์ ์ ํ๋ฉด ์์์ url์ด ์ค์ ๋๋ค.
์ปดํฌ๋ํธ ์ด๋ฆ์ ์ค์ํ์ง ์์.
index ๋ ํํ์ด์ง ์ญํ ์ ํ๊ฒ ๋๋ค.
jsx๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด import react ํ ํ์ ์์ด return์ ์ถ๊ฐํ๋ค. โ useState ์ ๊ฐ์ ๊ธฐ๋ฅ ์ฌ์ฉ์์๋ import
404 ํ์ด์ง - ์กด์ฌํ์ง ์๋ ํ์ด์ง, next.js
#1.2 Static Pre Rendering
CSR - CRA
Client์์ ๋ ๋๋ง์ ์งํํ๊ธฐ์ ์ฌ์ฉ์ ํ๊ฒฝ์ ๋ฐ๋ผ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ด ๋ค์ด๋ก๋ ๋๊ณ , ์๋ํ๊ธฐ ์ ๊น์ง ๋๋ฆฌ๊ฒ ์๋ํ ์ ์์
SSR - Next.js && Gatsby.js
๋ฏธ๋ฆฌ ๋ ๋๋ง ๋ HTML ํ์ผ์ ๋ฐ์ ์๋ํจ โ ์ฐ๊ฒฐ ์๋๊ฐ ๋๋ฆฌ๊ฑฐ๋ JS ๊ฐ ์๋๋ผ๋ ํฐ ํ์ ์ ์ง๋จ
Hydration - react.js๋ฅผ ํ๋ก ํธ์๋ ์์์ ์คํํ๋ ๊ฒ โ next.js๋ react.js๋ฅผ ๋์์์ผ ๋ฏธ๋ฆฌ ํ์ด์ง๋ฅผ ๋ง๋๋๋ฐ ์ด ๊ณผ์ ์์ ์ปดํฌ๋ํธ๋ค์ด ๋ ๋๋ง ๋๊ณ html๋ก ๋ณํ๋จ โ react.js ๊ฐ ๋ก๋ฉ๋๋ฉด ๋ฏธ๋ฆฌ ์์ฑ๋ html๊ณผ ์ํธ์์ฉ์ด ๊ฒฐํฉ๋์ด ์๋ํ๊ฒ ๋๋ค.
#1.3 Routing
nav bar๋ฅผ ๋ง๋ค๊ณ ๋ผ์ฐํ ๊ธฐ๋ฅ์ ํ์ฉํ๋ ค๋ฉด
import Link from "next/link";
๋ฅผ ์ถ๊ฐํ๊ณ
<Link href={"/"}>Home</Link>
<Link href="/about">About</Link>
์ ๊ฐ์ด ์ฌ์ฉํ๋ค.
Link ํ๊ทธ์ ์ค์ ํ ๋ด์ฉ์ ๋ด๋ถ์ a ํ๊ทธ์ ์ ๋ฌํ๋ ๊ฐ๋ ์ด๋ค.
Router
useRouter
ํ์ฌ ์์นํ ํ์ด์ง์ location ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ค.


์ด ๊ธฐ๋ฅ์ ํ์ฉํด ํ์ฌ ์์นํ nav๋ฅผ ๋ณด์ฌ์ค ์ ์์


#1.4 CSS modules
NextJS์ CSS๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ
style
Module ์ด๋ฆ.module.css ๋ผ๋ ์ด๋ฆ์ ํ์ผ์ ์ํ๋ ์คํ์ผ์ ์์ฑํ๋ค.
className={styles.nav} ์ด ๋ถ๋ถ์ผ๋ก className์ ํ๋กํผํฐ ํ์์ผ๋ก ์ ์ฉํด ๋ชจ๋์ ์คํ์ผ์ด ์ ์ฉ๋จ
์ฌ๋ฌ ๊ฐ์ className ์ค์
className={โ์ด๋ฆ1 ์ด๋ฆ2โ} ์ ๊ฐ์ ํํ๊ฐ ๋์ผ๋๊ธฐ์ ๋ฐฑํฑ์ผ๋ก ์ฐ๊ฒฐํ๊ฑฐ๋ ๋ฐฐ์ด์ joinํ๋ ๋ฐฉ๋ฒ์ ์ด์ฉํจ

#1.5 Style JSX
NextJS์ CSS๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ
JSX style ํ๊ทธ์ JSX๋ฅผ ์ถ๊ฐํด ์ํ๋ ์คํ์ผ์ ์ถ๊ฐํ๋ค. ๋ถ๋ชจ ์ปดํฌ๋ํธ์์ ๊ฐ์ ํด๋์ค๋ค์์ ์ฌ์ฉํ๊ณ ์๋๋ผ๋ ์ ์ฉ๋์ง ์์ โ ํด๋์ค๋ค์์ด ๋๋ค์ผ๋ก ์ ํด์ง๊ธฐ ๋๋ฌธ์

#1.6 Custom App
Global Style

jsx global์ ์ค์ ํ๋ฉด ๊ธ๋ก๋ฒ ์คํ์ผ์ด ์ค์ ๋จ
App Component
_app.js ๊ฐ์ฅ ๋จผ์ ๋ ๋๋ง๋๋ฉด์ ํ ํ๋ฆฟ && global ์ค์ ์ ์ด์์ด ๋จ

์ค๋ณต๋๋ ์ปดํฌ๋ํธ๋ style์ ์ค์ ํด ๋์ ์ ์์
Component ์ props ๋ก ์ ๋ฌ๋๋ ๋ด์ฉ์ด ๋ฐ๋๋ฉด์ ํ๋ฉด๋ ๋ณ๊ฒฝ๋จ
#1.7 Recap
์ ๋ด์ฉ ๋ณต์ต
Last updated
Was this helpful?