์ปดํฌ๋„ŒํŠธ import ๋ฐ export ํ•˜๊ธฐ

์ปดํฌ๋„ŒํŠธ์˜ ๊ฐ€์žฅ ํฐ ์žฅ์ ์€ ์žฌ์‚ฌ์šฉ์„ฑ์œผ๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์กฐํ•ฉํ•ด ๋˜ ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ค‘์ฒฉํ•˜๊ฒŒ ๋˜๋ฉด ๋‹ค๋ฅธ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์‹œ์ ์ด ์ƒ๊น๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ถ„๋ฆฌํ•˜๋ฉด ๋‚˜์ค‘์— ํŒŒ์ผ์„ ์ฐพ๊ธฐ ๋” ์‰ฝ๊ณ  ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ•ด์ง‘๋‹ˆ๋‹ค.

ํ•™์Šต ๋‚ด์šฉ

  • Root ์ปดํฌ๋„ŒํŠธ๋ž€
  • ์ปดํฌ๋„ŒํŠธ๋ฅผ import ํ•˜๊ฑฐ๋‚˜ export ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์–ธ์ œ default ๋˜๋Š” named imports์™€ exports๋ฅผ ์‚ฌ์šฉํ• ์ง€
  • ํ•œ ํŒŒ์ผ์—์„œ ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ import ํ•˜๊ฑฐ๋‚˜ export ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์—ฌ๋Ÿฌ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•

Root ์ปดํฌ๋„ŒํŠธ๋ž€

์ฒซ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋งŒ๋“  Profile ์ปดํฌ๋„ŒํŠธ์™€ Gallery ์ปดํฌ๋„ŒํŠธ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋ Œ๋”๋ง ๋ฉ๋‹ˆ๋‹ค.

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>
  );
}

์ด ์˜ˆ์‹œ์˜ ์ปดํฌ๋„ŒํŠธ๋“ค์€ ๋ชจ๋‘ App.js๋ผ๋Š” root ์ปดํฌ๋„ŒํŠธ ํŒŒ์ผ์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์„ค์ •์— ๋”ฐ๋ผ root ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‹ค๋ฅธ ํŒŒ์ผ์— ์œ„์น˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. Next.js์ฒ˜๋Ÿผ ํŒŒ์ผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ผ์šฐํŒ…ํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ผ ๊ฒฝ์šฐ ํŽ˜์ด์ง€๋ณ„๋กœ root ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปดํฌ๋„ŒํŠธ๋ฅผ import ํ•˜๊ฑฐ๋‚˜ export ํ•˜๋Š” ๋ฐฉ๋ฒ•

๋žœ๋”ฉ ํ™”๋ฉด์„ ๋ณ€๊ฒฝํ•˜๊ฒŒ ๋˜์–ด ๊ณผํ•™์ž๋“ค์ด ์•„๋‹ˆ๋ผ ๊ณผํ•™์ฑ…์œผ๋กœ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด Gallery ์ปดํฌ๋„ŒํŠธ์™€ Profile ์ปดํฌ๋„ŒํŠธ๋ฅผ root ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ํŒŒ์ผ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋ณ€๊ฒฝํ•˜๋ฉด ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์•„์ ธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ชจ๋“ˆ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋‹ค๋ฅธ ํŒŒ์ผ๋กœ ์ด๋™ํ•˜๋ ค๋ฉด ์„ธ ๊ฐ€์ง€ ๋‹จ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  JS ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. ์ƒˆ๋กœ ๋งŒ๋“  ํŒŒ์ผ์—์„œ ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ export ํ•ฉ๋‹ˆ๋‹ค. (default ๋˜๋Š” named export ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค)
  3. ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•  ํŒŒ์ผ์—์„œ import ํ•ฉ๋‹ˆ๋‹ค. (์ ์ ˆํ•œ ๋ฐฉ์‹์„ ์„ ํƒํ•ด์„œ default ๋˜๋Š” named๋กœ import ํ•ฉ๋‹ˆ๋‹ค)

์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด App.js ํŒŒ์ผ์—์„œ Profile๊ณผ Gallery ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋นผ์„œ ์ƒˆ๋กœ์šด Gallery.js ํŒŒ์ผ๋กœ ์˜ฎ๊ฒผ์Šต๋‹ˆ๋‹ค. ์ด์ œ Gallery๋Š” Gallery.js์—์„œ import ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

import Gallery from './Gallery.js';

export default function App() {
  return (
    <Gallery />
  );
}

์ด์ œ ์ด ์˜ˆ์‹œ์—์„œ๋Š” ์ปดํฌ๋„ŒํŠธ๋“ค์ด ๋‘ ํŒŒ์ผ๋กœ ๋‚˜๋‰˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  1. Gallery.js:
    • Profile ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ •์˜ํ•˜๊ณ  ํ•ด๋‹น ํŒŒ์ผ์—์„œ๋งŒ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— export ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • Default ๋ฐฉ์‹์œผ๋กœ Gallery ์ปดํฌ๋„ŒํŠธ๋ฅผ export ํ•ฉ๋‹ˆ๋‹ค.
  2. App.js:
    • Default ๋ฐฉ์‹์œผ๋กœ Gallery๋ฅผ Gallery.js๋กœ๋ถ€ํ„ฐ import ํ•ฉ๋‹ˆ๋‹ค.
    • Root App ์ปดํฌ๋„ŒํŠธ๋ฅผ default ๋ฐฉ์‹์œผ๋กœ export ํ•ฉ๋‹ˆ๋‹ค.

์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค!

๊ฐ€๋” .js์™€ ๊ฐ™์€ ํŒŒ์ผ ํ™•์žฅ์ž๊ฐ€ ์—†์„ ๋•Œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

import Gallery from './Gallery';

React์—์„œ๋Š” './Gallery.js' ๋˜๋Š” './Gallery' ๋‘˜ ๋‹ค ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ „์ž์˜ ๊ฒฝ์šฐ๊ฐ€ native ES Modules ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์— ๋” ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ธฐ

Default์™€ Named Exports

๋ณดํ†ต JavaScript์—์„œ๋Š” default์™€ named export๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ’์„ export ํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€์˜ ์˜ˆ์‹œ์—์„œ๋Š” default export๋งŒ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ ๋‘ ๋ฐฉ๋ฒ• ๋‹ค ํ•œ ํŒŒ์ผ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ํ•œ ํŒŒ์ผ์—์„œ๋Š” ํ•˜๋‚˜์˜ default export๋งŒ ์กด์žฌํ•  ์ˆ˜ ์žˆ๊ณ  named export๋Š” ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Default and named exports

Export ํ•˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ import ํ•˜๋Š” ๋ฐฉ์‹์ด ์ •ํ•ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. Default export๋กœ ํ•œ ๊ฐ’์„ named import๋กœ ๊ฐ€์ ธ์˜ค๋ ค๊ณ  ํ•˜๋ ค๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ํ‘œ์—๋Š” ๊ฐ๊ฐ์˜ ๊ฒฝ์šฐ์˜ ๋ฌธ๋ฒ•์ด ์ •๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

SyntaxExport ๊ตฌ๋ฌธImport ๊ตฌ๋ฌธ
Defaultexport default function Button() {}import Button from './button.js';
Namedexport function Button() {}import { Button } from './button.js';

Default import๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์›ํ•œ๋‹ค๋ฉด import ๋‹จ์–ด ํ›„์— ๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด import Banana from './button.js' ๋ผ๊ณ  ์“ฐ๋”๋ผ๋„ ๊ฐ™์€ default export ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ named import๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์–‘์ชฝ ํŒŒ์ผ์—์„œ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฐ’์˜ ์ด๋ฆ„์ด ๊ฐ™์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— named import๋ผ๊ณ  ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค.

๋ณดํŽธ์ ์œผ๋กœ ํ•œ ํŒŒ์ผ์—์„œ ํ•˜๋‚˜์˜ ์ปดํฌ๋„ŒํŠธ๋งŒ export ํ•  ๋•Œ default export ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ณ  ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ export ํ•  ๊ฒฝ์šฐ์—” named export ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋“  ์ปดํฌ๋„ŒํŠธ์™€ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ์˜๋ฏธ ์žˆ๊ฒŒ ๋ช…๋ช…ํ•˜๋Š” ๊ฒƒ์€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. export default () => {} ์ฒ˜๋Ÿผ ์ด๋ฆ„ ์—†๋Š” ์ปดํฌ๋„ŒํŠธ๋Š” ๋‚˜์ค‘์— ๋””๋ฒ„๊น…ํ•˜๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ•œ ํŒŒ์ผ์—์„œ ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ import ํ•˜๊ฑฐ๋‚˜ export ํ•˜๋Š” ๋ฐฉ๋ฒ•

์ „์ฒด ๊ฐค๋Ÿฌ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋ผ ํ•˜๋‚˜์˜ Profile๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ Profile ์ปดํฌ๋„ŒํŠธ๋งŒ export ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Gallery.js ํŒŒ์ผ์—๋Š” ์ด๋ฏธ ํ•˜๋‚˜์˜ default export๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์˜ ๋‘ ๊ฐœ์˜ default export๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ ์ƒˆ๋กœ์šด ํŒŒ์ผ ํ•˜๋‚˜๋ฅผ ๋” ์ƒ์„ฑํ•ด์„œ default export๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ named export๋กœ Profile ์ปดํฌ๋„ŒํŠธ๋ฅผ export ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ํŒŒ์ผ์—์„œ๋Š” ๋‹จ ํ•˜๋‚˜์˜ default export๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ named export๋Š” ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋จผ์ € named export ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์„œ Gallery.js ํŒŒ์ผ์—์„œ Profile ์ปดํฌ๋„ŒํŠธ๋ฅผ export ํ•ฉ๋‹ˆ๋‹ค. (default ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค)

export function Profile() {
// ...
}

๊ทธ ๋‹ค์Œ์—” named import ๋ฐฉ์‹์œผ๋กœ Gallery.js ํŒŒ์ผ์—์„œ Profile ์ปดํฌ๋„ŒํŠธ๋ฅผ App.js ํŒŒ์ผ๋กœ import ํ•ฉ๋‹ˆ๋‹ค. (์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค)

import { Profile } from './Gallery.js';

๋งˆ์ง€๋ง‰์œผ๋กœ <Profile />์„ App ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค.

export default function App() {
return <Profile />;
}

์ด์ œ Gallery.js์—๋Š” default Gallery export๋ž‘ named Profile export๋ผ๋Š” ๋‘ ๊ฐ€์ง€์˜ export๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. App.js์—์„œ๋Š” ๋‘ ์ปดํฌ๋„ŒํŠธ๋ฅผ import ํ•ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์˜ˆ์‹œ์—์„œ <Profile />๊ณผ <Gallery />๋ฅผ ๊ต์ฐจํ•ด์„œ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.

import Gallery from './Gallery.js';
import { Profile } from './Gallery.js';

export default function App() {
  return (
    <Profile />
  );
}

์ด์ œ default์™€ named export ๋ฐฉ์‹ ๋‘˜ ๋‹ค ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋์Šต๋‹ˆ๋‹ค.

  • Gallery.js:
    • Named export ๋ฐฉ์‹์œผ๋กœ Profile์ด๋ผ๋Š” ์ด๋ฆ„์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ export ํ•ฉ๋‹ˆ๋‹ค.
    • Default export ๋ฐฉ์‹์œผ๋กœ Gallery ์ปดํฌ๋„ŒํŠธ๋ฅผ export ํ•ฉ๋‹ˆ๋‹ค.
  • App.js:
    • Gallery.js์—์„œ named import ๋ฐฉ์‹์œผ๋กœ Profile ์ปดํฌ๋„ŒํŠธ๋ฅผ import ํ•ฉ๋‹ˆ๋‹ค.
    • Gallery.js์—์„œ default import ๋ฐฉ์‹์œผ๋กœ Gallery ์ปดํฌ๋„ŒํŠธ๋ฅผ import ํ•ฉ๋‹ˆ๋‹ค.
    • Default export ๋ฐฉ์‹์œผ๋กœ App ์ปดํฌ๋„ŒํŠธ๋ฅผ export ํ•ฉ๋‹ˆ๋‹ค.

์š”์•ฝ

์ด ํŽ˜์ด์ง€์—์„œ ๋ฐฐ์šฐ๊ฒŒ ๋œ ๊ฒƒ๋“ค์ž…๋‹ˆ๋‹ค.

  • Root ์ปดํฌ๋„ŒํŠธ๋ž€ ๋ฌด์—‡์ธ์ง€
  • ์ปดํฌ๋„ŒํŠธ๋ฅผ import ํ•˜๊ฑฐ๋‚˜ export ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์–ธ์ œ default ๋˜๋Š” named imports์™€ exports๋ฅผ ์‚ฌ์šฉํ• ์ง€
  • ํ•œ ํŒŒ์ผ์—์„œ ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ export ํ•˜๋Š” ๋ฐฉ๋ฒ•

์ฑŒ๋ฆฐ์ง€ 1 of 1:
์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•œ ๋‹จ๊ณ„ ๋” ๋ถ„๋ฆฌํ•˜๊ธฐ

ํ˜„์žฌ Gallery.js ํŒŒ์ผ์ด Profile๊ณผ Gallery๋ฅผ ๋‘˜ ๋‹ค export ํ•ด์„œ ํ—ท๊ฐˆ๋ฆฌ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Profile.js ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์„œ Profile ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•ด๋‹น ํŒŒ์ผ๋กœ ์˜ฎ๊ธฐ๊ณ  App ์ปดํฌ๋„ŒํŠธ์—์„œ๋Š” <Profile />๊ณผ <Gallery />๋ฅผ ๊ฐ๊ฐ ๋ Œ๋”๋งํ•˜๋„๋ก ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

Default ๋˜๋Š” named export๋ฅผ ์‚ฌ์šฉํ•ด์„œ Profile์„ export ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ฃผ์˜ํ•  ์ ์€ ์‚ฌ์šฉํ•œ export ๋ฐฉ์‹์— ๋งž๋Š” import ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ๋ฌธ๋ฒ• ํ‘œ๋Š” ์œ„ deep dive์—์„œ ์ธ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

SyntaxExport ๊ตฌ๋ฌธImport ๊ตฌ๋ฌธ
Defaultexport default function Button() {}import Button from './button.js';
Namedexport function Button() {}import { Button } from './button.js';
// Move me to Profile.js!
export function Profile() {
  return (
    <img
      src="https://i.imgur.com/QIrZWGIs.jpg"
      alt="Alan L. Hart"
    />
  );
}

export default function Gallery() {
  return (
    <section>
      <h1>Amazing scientists</h1>
      <Profile />
      <Profile />
      <Profile />
    </section>
  );
}

Export ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ–ˆ์œผ๋ฉด ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ๋„ ๋™์ž‘ํ•˜๊ฒŒ ์‹œ๋„ํ•ด ๋ณด์„ธ์š”.