์ฝ๋ฉ์ ํ next js ๊ฐ์ ๋ค์ผ๋ฉด์ ๊ธฐ๋กํจ
๐ Next js
ํ์คํ ํ๋ ์ ์ํฌ (ํ๋ก ํธ + ๋ฐฑ) ๋ฆฌ์กํธ ๋ฌธ๋ฒ์ ๊ธฐ๋ฐ์ผ๋ก ํจ
์ต์ ๋ฒ์ ์์๋
ํ์ผ๊ณผ ํด๋๋ฅผ ๋ง๋ค๋ฉด ์๋์ผ๋ก html ํ์ด์ง ์์ฑ
ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ ๋๋ง ๊ธฐ๋ฅ ๊ฐ๋ฅ
์ด๋ฏธ์ง ์ต์ ํ ํฐํธ ๋ฑ๋ฑ ํจ์ฌ ๋ ํธ๋ฆฌํ๊ฒ
but
ํฐ ํ๋ก์ ํธ ์ ๋ณต์กํ ํด๋ํ์ผ๋ค
์ปดํฌ๋ํธ๋ค์ด ์์ฒญ ๋ง์์ง
๊ทธ๋ฅ html๋ ๋๋ง๋ง ์ํ๋
๐์ค์นํ๊ธฐ
next.js 13.2.4 ๋ฒ์
- node js LTS ์ค์น 18 ๋ฒ์ ์ด์
npx create-next-app@latest --experimental-app
ํ๋ก์ ํธ ์ด๋ฆ์ ์ ํ ํ TypeScript/ESLint/Tailwind/src ๋๋ ํ ๋ฆฌ ๋ฑ ์ฌ์ฉ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค. (๋๋ ๋ชจ๋ no)
โ next 13.2.4 ๋ก ์งํ
npm run dev ๋ก ์คํ
๐ ๋ฐ ๋
๐ ํด๋๊ตฌ์กฐ ๋ณด๊ธฐ
globals.css
: ๋ชจ๋ ํ์ด์ง์ ์ ์ฉ๋ css ํ์ผ
page.module.css
: ํน์ ํ์ด์ง์์ ๋ง์ css ํ์ผ
layout.js
: ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋ ํ์ผ (head, nav ๋ฑ)
page.js
: ๋ฉ์ธ ํ์ด์ง๋ก ๋ณด์ฌ์ง๋ ํ์ผ
public ํด๋
: ์ด๋ฏธ์ง๋ ํฐํธ ๋ฑ์ ๋ด๊ณ ์๋ ํด๋
๐ ํ์ด์ง ๋ผ์ฐํ
์ด์ ๋ฉ์ธํ์ด์ง ๋ง๊ณ ๋ค๋ฅธ ํ์ด์ง๋ฅผ ๋ง๋๋ ๊ฒ์ ์ด๋ป๊ฒ ํ ๊น
๋ผ์ฐํ ์ด๋ url๋ก ํ์ด์ง๋ฅผ ๋๋๋ ๊ฒ์ด๋ผ๊ณ ํ๋ค.
๋ฅ์คํธ js๋ ๋ฃจํธ ํด๋(page ํน์ src/page ์ฌ๊ธฐ์๋ app) ํ์์ ํด๋๋ฅผ ์ถ๊ฐํ์ฌ ์๋์ผ๋ก ์์ฑ๋๋ค.
๋ฆฌ์กํธ์๋ ๋ณ๋์ ํจํค์ง๋ฅผ ์ค์นํด์ผ ํ๋ค๊ณ ํจ
๐ ๊ธฐ๋กํด๋๊ธฐ
์ฌ์ฌ์ฉ์ด ์ฆ์ html ๋ค์ ์ฃผ๋ก component๋ก ๋ง๋๋ ๊ฒ ์ข๋ค(์ฌ์ฌ์ฉ์ฑ ์ฆ๊ฐ)
map()
๋ฐ๋ณต๋๋ ์ปดํฌ๋ํธ๋ฅผ ํจ์จ์ ์ผ๋ก ๋ณด์ฌ์ฃผ๊ธฐ ์ํ mapํจ์
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map((number) => number * 2);
console.log(doubled);
//[2, 4, 6, 8, 10]
key
Key๋ React๊ฐ ์ด๋ค ํญ๋ชฉ์ ๋ณ๊ฒฝ, ์ถ๊ฐ ๋๋ ์ญ์ ํ ์ง ์๋ณํ๋ ๊ฒ์ ๋์ต๋๋ค.
์๋ฆฌ๋จผํธ์ ์์ ์ ์ธ ๊ณ ์ ์ฑ์ ๋ถ์ฌํ๊ธฐ ์ํด ๋ฐฐ์ด ๋ด๋ถ์ ์๋ฆฌ๋จผํธ์ ์ง์ ํด์ผ ํฉ๋๋ค
๊ณ ์ ๊ฐ
key = {i}
์ปดํฌ๋ํธ
- server compoent
- client compoent
useState
์ปดํฌ๋ํธ๊ฐ ๊ฐ์ง ์ ์๋ ์ํ๋ฅผ ์๋ฏธ
const [์ํ๊ฐ, ๊ฐฑ์ ์ํ๊ฐ] = useState(์ด๊ธฐ๊ฐ);
๐ ์ด๋ ค์ ๋ ์
์ด์ํ jsx๋ฌธ๋ฒ , ๋ฆฌ์กํธ ์ดํด๊ฐ ๋ง์ด ๋ถ์กฑํ๋ค !
๐ฅ ํต๊ณ ์
๋ฒ ์คํจ๋ผ๋น์ค ๋ง๋ณด๊ธฐ ์คํผ์ ๋์ ๋ฆฌ์กํธ์ next.js ์ ๋ํด ์ดํด๋ณด์๋ฐ
๋ฆฌ์กํธ์ ์ปดํฌ๋ํธ ๊ฐ๋ ๊ณผ JSX ๋ฌธ๋ฒ์ ํฅ๋ฏธ๋ฅผ ๋๊ผ๊ณ , ๋ ๋ง์ ํ์ต์ด ํ์ํ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์๋ค.
์์ผ๋ก ๊พธ์คํ๊ฒ ํ์ตํ๊ณ ์ต๋ํ์ฌ ๋์ ์์ค์ ๊ฐ๋ฐ ๋ฅ๋ ฅ์ ๊ฐ์ถ๊ณ ์ ๋ค์ง..!
'study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
git. pull request ๊ทธ๋ฆฌ๊ณ ์ํ์น (1) | 2024.01.24 |
---|---|
์นํ์ด์ง ์๋ ์ธก์ ํด๋ณด๊ณ ๊ฐ์ ํ์, ๊ตฌ๊ธ ์นํ์ด์ง ์๋ ์ธก์ ์ต์ ํํ๊ธฐ (0) | 2023.04.20 |
๊ณต๋ถํ๊ฑฐ๋ ์ฝ๋ฉํ๋ฉด์ ๋ฃ๋ ๋ ธ๋ ์ถ์ฒ (0) | 2023.04.12 |
[ํผ์จ๊ธ]์ปดํจํ ์ฌ๊ณ ์ ๊ฐ๋ฐ ์ค๋ ฅ ๋๋ฆฌ๋ ๊ณต๋ถ๋ฒ (0) | 2023.04.03 |
๋ค์ด๋ฒ ๊ตญ์ ๊ฐ์์ง์ ๋ ์ฌ์ดํธ ์ดํด๋ณด๊ธฐ (0) | 2023.03.27 |