๋๋ณด๊ธฐ
1. ์ปดํฌ๋ํธ
- ๋งํฌ์ , CSS, JS๋ฅผ ์ฑ์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ UI ์์
1-1. ์ปดํฌ๋ํธ ๋ด๋ณด๋ด๊ธฐ
`export default` ๋ ํ์ค JavaScript ๊ตฌ๋ฌธ์ผ๋ก ๋์ค์ ๋ค๋ฅธ ํ์ผ์์ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ์ด๋ค.
1-2. ํจ์ ์ ์ํ๊ธฐ
`function Profile() {}`์ ์ฌ์ฉํ๋ฉด `Profile`์ด๋ผ๋ ์๋ฐ์คํฌ๋ฆฝํธ ํจ์๋ฅผ ์ ์.
React ์ปดํฌ๋ํธ๋ ์ผ๋ฐ JS ํจ์์ด์ง๋ง, ์ด๋ฆ์ ๋๋ฌธ์๋ก ์์ํด์ผ ํ๋ฉฐ ๊ทธ๋ ์ง ์์ผ๋ฉด ์๋ํ์ง ์๋๋ค.
1-3. ๋งํฌ์ ์ถ๊ฐํ๊ธฐ
์ด ์ปดํฌ๋ํธ๋ `src` ๋ฐ `alt` ์์ฑ์ ๊ฐ์ง `<img />`ํ๊ทธ๋ฅผ ๋ฐํํ๋ค. HTML์ฒ๋ผ ์์ฑ๋์์ง๋ง ์ค์ ๋ก๋ ์๋ฐ์คํฌ๋ฆฝํธ์ด๋ฉฐ,
์ด ๊ตฌ๋ฌธ์ JSX๋ผ๊ณ ํ๋ค.
return <img src="https://i.imgur.com/MK3eW3As.jpg" alt="Katherine Johnson">;
// ๋งํฌ์
์ด ๋ชจ๋ returnํค์๋์ ๊ฐ์ ๋ผ์ธ์ ์์ง ์์ ๊ฒฝ์ฐ ๊ดํธ๋ก ๋ฌถ๋๋ค.
return (
<img src="https://i.imgur.com/MK3eW3As.jpg" alt="Katherine Johnson">;
)
๊ดํธ๊ฐ ์์ผ๋ฉด `return` ๋ท ๋ผ์ธ์ ๋ชจ๋ ์ฝ๋๋ ๋ฌด์๋๋ค.
1-4. ์ปดํฌ๋ํธ ์ฌ์ฉํ๊ธฐ
function Profile() {
return (
<img src="https://i.imgur.com/MK3eW3As.jpg" alt="Katherine Johnson" />
)
}
export default function Gallery() {
return (
<section>
<h1>Amazing scientists</h1>
<Profile />
<Profile />
<Profile />
</section>
);
}
- `<section>` ์ ์๋ฌธ์์ด๋ฏ๋ก React๋ HTML ํ๊ทธ๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
- `<Profile />` ์ ๋๋ฌธ์ P๋ก ์์ํ๋ฏ๋ก React๋ `Profile`์ด๋ผ๋ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ค๊ณ ์ดํด.
- `Profile`์ปดํฌ๋ํธ๋ `Gallery`์์์ ๋ ๋๋ง ๋๊ธฐ ๋๋ฌธ์ `Gallery`๋ ๊ฐ `Profile`์ "์์"์ผ๋ก ๋ ๋๋งํ๋ "๋ถ๋ชจ ์ปดํฌ๋ํธ"๋ผ๊ณ ํ ์ ์๋ค.
์ปดํฌ๋ํธ๋ ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋งํ ์ ์์ง๋ง ๊ทธ ์ ์๋ฅผ ์ค์ฒฉํด์๋ ์๋๋ค.
์์ ์ปดํฌ๋ํธ์ ๋ถ๋ชจ ์ปดํฌ๋ํธ์ ์ผ๋ถ ๋ฐ์ดํฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ, ์ ์๋ฅผ ์ค์ฒฉํ๋ ๋์ props๋ก ์ ๋ฌํ๋ค.export default function Gallery() { // ์ ๋ ์ปดํฌ๋ํธ ์์ ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ฅผ ์ ์ํ๋ฉด ์๋จ!! function Profile() { // ... } // ... } // ์ต์์ ๋ ๋ฒจ์์ ์ปดํฌ๋ํธ๋ฅผ ์ ์ํด์ผํ๋ค. export default function Gallery() { // ... } // ์ต์์ ๋ ๋ฒจ์์ ์ปดํฌ๋ํธ๋ฅผ ์ ์ธํ๋ค. function Profile() { // ... }โ