๋ชฉ์ฐจ
์ด์ ๊ธ โผ
0. 2023.05.05 - [๐ | WEB DEV/React] - [React] 0. React๋ฅผ ์ฌ์ฉํ๋ ์ด์ & ์ด๊ธฐ ์ธํ
1. 2023.05.07 - [๐ | WEB DEV/React] - [React] 1. JSX
2. 2023.05.26 - [๐ | WEB DEV/React] - [React] 2. state (๋ณ์, array, object)
2-1. 2023.05.27 - [๐ | WEB DEV/React] - [React] 2-1. array state ์ ๋ ฌํ๊ธฐ ( .sort()ํ์ฉ)
1. Component ๋ฌธ๋ฒ
html์ ์์ฑํ๋ค๋ณด๋ฉด ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉํ๊ฑฐ๋ ๋ธ๋ก ๋จ์๋ก ์ ์ํ๊ณ ์ถ์ ๋ถ๋ถ์ด ์๋ค.
React์์๋ ๊ธด HTML ๋ธ๋ก์ ํ๋์ ๋จ์ด๋ก ์นํํ๋๋ก ํ๋ ๋ฌธ๋ฒ์ ์ ๊ณตํ๋ค.
์ด๊ฒ์ด ๋ฐ๋ก Component์ด๋ค.
์ด๋ฅผ ์ด์ฉํ์ฌ HTML ๋ฉ์ด๋ฆฌ๋ฅผ ๊น๋ํ๊ฒ ์นํํ๊ณ ์ํ๋ ๊ณณ์ ๋ฃ์ด์ค ์ ์๋ค.
์ฅ์
1. ๋ค๋ฅธ ๋๊ตฐ๊ฐ๊ฐ ์ฝ๋๋ฅผ ์ฐธ์กฐํ ๋ ์ด๋ค ๊ธฐ๋ฅ์ ํ๋ ๋ถ๋ถ์ธ์ง ํ ๋์ ์์๋ณผ ์ ์๋ค. (๋ฌผ๋ก ์์ ์ด ๋ค์ ๋ณผ ๋๋ ์ ์ฉํ๋ค!)
2. ๋ฐ๋ณต์ ์ธ html์ ์ถ์ฝํ ์ ์๋ค.
3. ํฐ ํ์ด์ง ํ๋๋ฅผ ์ปดํฌ๋ํธ๋ก ๋ง๋ค ์ ์๋ค. (์์ธ ํ์ด์ง ๋ฑ)
4. ๋งค์ฐ ์์ฃผ ๋ณ๊ฒฝ๋ UI๋ฅผ ๋ง๋ค์ด ๋์ผ๋ฉด ์ฑ๋ฅ์ ์ด์ ์ ์ทจํ ์๋ ์๋ค.
5. ํ์ ์ ์ปดํฌ๋ํธ ๋จ์๋ก ๋ถ๋ฐฐํ๋ฉด ํธํ๋ค!
๋จ์
state๋ฅผ ๊ฐ์ ธ์ฌ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. (๋ค๋ฅธ ํจ์์์ ๋ง๋ local ๋ณ์๋ฅผ ๋ง์๋๋ก ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ!)
์ด๋์๋ props๋ก ์ ๋ฌํด์ฃผ์ด์ผ ํ๋ค.
์ปดํฌ๋ํธ๋ ๊ผญ ํ์ํ ๊ฒฝ์ฐ์ ๋ง๋ค์ด ์ฃผ๋ ๊ฒ์ด ์ข๋ค!
1) Component ์ ์
(1) ์ปดํฌ๋ํธ๋ฅผ ํจ์ ํํ๋ก ์ ์
function ์ปดํฌ๋ํธ๋ช
(){
return(
... //ํ๋์ ํ๊ทธ
);
}
์์ ๊ฐ์ ํํ๋ก ์ปดํฌ๋ํธ๋ฅผ ์ ์ํ๋ค. (function, arrow function ๋ฌด๊ด!)
์์
function Modal(){
return(
<> // fragment ๋ฌธ๋ฒ
...
</>
);
}
(2) html ๋ธ๋ก์ return๊ฐ์ผ๋ก
ํ๋์ ํ๊ทธ๋ก ๊ฐ์ธ์ง html ๋ธ๋ก์ ๋ฐํํ๋ค.
์์
function Modal(){
return(
<>
<div className="modal-container">
<div className="modal">
<div className="modal-title-container modal-inner-container">
<span>์ ๋ชฉ</span>
<div className="modal-title">Title</div>
</div>
<div className="modal-singer-container modal-inner-container">
<span>๊ฐ์</span>
<div className="modal-singer">Singer</div>
</div>
<div className="modal-detail-container modal-inner-container">
<span>์ธ๋ถ์ฌํญ</span>
<div className="modal-detail">Detail</div>
</div>
</div>
</div>
</>
);
}
(3) ์ํ๋ ์์น์ <์ปดํฌ๋ํธ๋ช ></์ปดํฌ๋ํธ๋ช >
๊ธฐ์กด์ ์์ฑํ๋ App()์ return() ๋ด๋ถ์์
์ํ๋ ์์น์ <์ปดํฌ๋ํธ๋ช ></์ปดํฌ๋ํธ๋ช >์ ํํ๋ก ์ฝ์ ํ๋ค.
์์
function App(){
return(
<div>
...
<Modal></Modal>
</div>
)
}
Component ์ ์ ์ ์ฃผ์์ฌํญ
- ์๋ช ์ ๋๋ฌธ์๋ก ์์
- return() ์ ํ๋์ ํ๊ทธ๋ก ๊ฐ์ธ๊ธฐ
- App(){} ์ธ๋ถ์์ ์ ์ (App() ์ญ์ ์ปดํฌ๋ํธ์!)
- <์ปดํฌ๋ํธ></์ปดํฌ๋ํธ> & <์ปดํฌ๋ํธ/> ๋๋ค ์ฌ์ฉ๊ฐ๋ฅ
'๐ | WEB DEV > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] 5. ๋ฐ๋ณต๋๋ ๋ถ๋ถ ์ถ์ฝํ๊ธฐ (map) (0) | 2023.05.28 |
---|---|
[React] 4. ๋์ ์ธ UI ์ ์ํ๊ธฐ (0) | 2023.05.28 |
[React] 2-1. array state ์ ๋ ฌํ๊ธฐ ( .sort()ํ์ฉ) (0) | 2023.05.27 |
[React] 2. state (๋ณ์, array, object) (0) | 2023.05.26 |
[React] 1. JSX (0) | 2023.05.07 |
๋๊ธ