
๐ ์ฐธ๊ณ ์์ :
์ํ์ ์ฒ์ ๋ง๋ ๋ฆฌ์กํธ
๐ ์งํ
chapter 0 ์ค๋นํ๊ธฐ โ
chapter 1 ๋ฆฌ์กํธ ์๊ฐ โ
chapter 2 ๋ฆฌ์กํธ ์์ํ๊ธฐ โ
chapter 0 ์ค๋นํ๊ธฐ
HTML์ด๋? (Hyper Text Markup Language)
์น์ฌ์ดํธ์ ๋ผ๋๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ ๋งํฌ์ ์ธ์ด
๋งํฌ์ : ๋ฌธ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ฌธ์์ ์ถ๊ฐ๋๋ ์ ๋ณด
๋งํฌ์ ์ธ์ด: ๋งํฌ์ ์ ๋ณด๋ฅผ ํํํ๊ธฐ ์ํ ์ธ์ด
SPA(Single Page Application)
ํ๋์ ํ์ด์ง๋ง ์กด์ฌํ๋ ์น์ฌ์ดํธ(๋๋ ์น ์ดํ๋ฆฌ์ผ์ด์ )
ํ๋์ HTMLํ์ ๋ง๋ค์ด ๋๊ณ , ์ฌ์ฉ์๊ฐ ํน์ ํ์ด์ง๋ฅผ ์์ฒญํ ๋ ๊ทธ ์์
ํด๋น ํ์ด์ง์ ๋ด์ฉ์ ์ฑ์ ๋ณด๋ด์ฃผ๋ ๊ฒ
์๋ฐ์คํฌ๋ฆฝํธ์ ์๋ฃํ
์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์๋ ๋ณ์๋ฅผ ์ ์ธํ๋ ์์ ์ ํด๋น ๋ณ์์ ์๋ฃํ์ด ๊ฒฐ์ ๋๋ค
ํ์ง๋ง ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๋ณ์์ ๋ฐ์ดํฐ๊ฐ ๋์ ๋๋ ์์ ์ ํด๋น ๋ณ์์ ์๋ฃํ์ด ๊ฒฐ์ ๋๋ค.
์ด๋ฅผ ๋์ ํ์ดํ์ด๋ผ๊ณ ํ๋ค.
- undefined :๊ฐ์ด ์ ์๋์ง ์์ ์ํ
- null :๊ฐ์ด ์ ์๋๊ธด ํ๋๋ฐ, ๊ทธ ๊ฐ์ด null์ธ ์ํ
- ๋ฐฐ์ด: ๋ค์ํ ์๋ฃํ์ ๋ณ์๊ฐ ๋ค์ด๊ฐ ์ ์๋ค. ์์๋๋ก ๋ชจ์๋์ ๊ฒ์ด๋ผ ์์๋ฅผ ๋ํ๋ด๋ index ๊ฐ์ด ์๋ค.
chapter 1 ๋ฆฌ์กํธ ์๊ฐ
๋ฆฌ์กํธ๋?
์ฌ์ฉ์์ ์น์ฌ์ดํธ์ ์ํธ์์ฉ์ ๋๋ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฅ ๋ชจ์์ง
SPA๋ฅผ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๋ง๋ค์ ์๋๋ก ํด์ฃผ๋ ๋๊ตฌ
์ฅ์
- ๋น ๋ฅธ ์ ๋ฐ์ดํธ์ ๋ ๋๋ง ์๋
- ์ฌ์ฌ์ฉ์ฑ์ด ๋์ ์ปดํฌ๋ํธ ๊ธฐ๋ฐ ๊ตฌ์กฐ
- ๋ฉํ(๊ตฌ ํ์ด์ค๋ถ)์ ๋ ๋ ํ ์ง์
- ํ๋ฐํ ์ง์ ๊ณต์ ์ ์ปค๋ฎค๋ํฐ
- ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ฅผ ํตํ ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ ๊ธฐ๋ฅ
๋จ์
- ๋ฐฉ๋ํ ํ์ต๋
- ๋์ ์ํ ๊ด๋ฆฌ ๋ณต์ก๋
*state
๋ฆฌ์กํธ ์ปดํฌ๋ํธ์ ์ํ -> ๋ฆฌ์กํธ๋ ๋ฐ๋ ๋ถ๋ถ๋ง ์ฐพ์ ์ ๋ฐ์ดํธ -> ๋ฐ๋ ๋ถ๋ถ ์ด๋ผ๋ ๊ฒ์ state๊ฐ ๋ฐ๋ ์ปดํฌ๋ํธ๋ฅผ ์๋ฏธ
ํ๋ ์์ํฌ vs ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ฐจ์ด์ : ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ๋ํ ์ ์ด ๊ถํ
- ํ๋ ์์ํฌ: ํ๋ฆ์ ์ ์ด ๊ถํ์ ํ๋ ์์ํฌ๊ฐ ๊ฐ์ง๊ณ ์๋ค. (ํ๋ ์์ํฌ ์์ ์๊ฒ ์ ์ด ๊ถํ)
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ: ํ๋ฆ์ ๋ํ ์ ์ด๋ฅผ ํ์ง ์๊ณ , ๊ฐ๋ฐ์๊ฐ ํ์ํ ๋ถ๋ถ๋ง ํ์ํ ๋ ๊ฐ์ ธ๋ค ์ฌ์ฉํ๋ ํํ (๊ฐ๋ฐ์์๊ฒ ์ ์ด ๊ถํ)
chapter 2 ๋ฆฌ์กํธ ์์ํ๊ธฐ
๊ฐ๋จํ ๋ง๋ ์น์ฌ์ดํธ์ react.js๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ!
1. ๊ธฐ์กด์ ์น์ฌ์ดํธ HTML์ DOM container๋ฅผ ์ถ๊ฐํ๋ค. (์์น: bodyํ๊ทธ)
<div id="root"></div>
2. ๋ฆฌ์กํธ์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ ๊ฐ์ ธ์ค๊ธฐ (react,react-dom)
<script src="https://unpkg.com/react@18/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js" crossorigin></script>
3.๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ ธ์จ๋ค (Mybutton.js ํ์ผ ์์ฑ ํ)
<script src="Mybutton.js"></script>
4.๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ ๋ค
ํ์ง๋ง ๋ฆฌ์กํธ๊ฐ ์ ์ฉ๋์ด ์๋ ์ํ๋ก ๊ฐ๋ฐ์ ์์ํ๋ ๋ฐฉ๋ฒ์ด ์๋ค!!
create-react-app (CRA)
VS code์ ํฐ๋ฏธ๋์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ๋ค.
$npx create-react-app ํ๋ก์ ํธ์ด๋ฆ
//์์นํ ๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝ
$ cd my-app
//์ดํ๋ฆฌ์ผ์ด์ ์คํ
$npm start

'๊ณต๋ถ ๊ธฐ๋ก โ๏ธ > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [React] study (state,) #3์ผ์ฐจ (0) | 2023.04.12 |
|---|---|
| [React] study (JSX,์๋ฆฌ๋จผํธ) #2์ผ์ฐจ (0) | 2023.04.11 |
| [React] React study #0 (0) | 2023.04.10 |
| React-router-dom (0) | 2023.02.08 |
| [React] React๋? (0) | 2023.01.27 |