็„ก์ œ

React์—์„œ map ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ ๋ณธ๋ฌธ

<React>

React์—์„œ map ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ

yo-u-loo 2026. 7. 14. 12:49

 

๐Ÿ”Ž React์—์„œ map() ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ

map()์€ ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋Š” JavaScript ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ.

 

โ—ผ๏ธ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด JSX๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด React๊ฐ€ ํ™”๋ฉด์— ๋ Œ๋”๋งํ•œ๋‹ค.

function App() {
  const names = ["๊ฐ“๋Œ€ํฌ", "๊น€๋Œ€ํฌ", "ํ•œ๋Œ€ํฌ"];
  
  return (
    <div>
      {names.map((name) => (
        <div>{name}</div>
      ))}
    </div>
  );
}
  1. ์ค‘๊ด„ํ˜ธ({})๋ฅผ ์—ฐ๋‹ค.
    • JSX ์•ˆ์—์„œ JavaScript ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด {}๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.
  2. ๋ฐ˜๋ณตํ•  ๋ฐฐ์—ด ์ด๋ฆ„์„ ์ž‘์„ฑํ•œ๋‹ค.
    • ๋ฐ˜๋ณตํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ๋ฐฐ์—ด์„ ์„ ํƒํ•œ๋‹ค.
  3. map() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.
    • ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ JSX๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  4. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜(=>)๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.
    • ๊ฐ ์š”์†Œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ™”๋ฉด์— ํ‘œ์‹œํ• ์ง€ ์ •์˜ํ•œ๋‹ค.
  5. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์— ํ˜„์žฌ ์š”์†Œ๋ฅผ ๋ฐ›๋Š”๋‹ค.
    • ๋ฐฐ์—ด์˜ ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„ ์‚ฌ์šฉํ•œ๋‹ค.
  6. JSX ์•ˆ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”์ธ๋”ฉํ•œ๋‹ค.
    • ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•œ๋‹ค.

 

โ—ผ๏ธ key ์†์„ฑ

map()์œผ๋กœ ์—ฌ๋Ÿฌ ์š”์†Œ๋ฅผ ๋ Œ๋”๋งํ•  ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ key ์†์„ฑ์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.

key๋Š” React๊ฐ€ ์š”์†Œ์˜ ์ถ”๊ฐ€·์‚ญ์ œ·๋ณ€๊ฒฝ ์—ฌ๋ถ€๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํŒ๋‹จํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ์œ  ์‹๋ณ„์ž์ด๋‹ค.

function App() {
  const users = [
    { id: 1, name: "๊น€์ฒ ์ˆ˜" },
    { id: 2, name: "์ด์˜ํฌ" },
    { id: 3, name: "๋ฐ•๋ฏผ์ˆ˜" }
  ];

  return (
    <div>
      {users.map((user) => (
        <div key={user.id}>{user.name}</div>
      ))}
    </div>
  );
}
  • ๊ฐ€๋Šฅํ•˜๋ฉด ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค(index)๋ณด๋‹ค ๊ณ ์œ ํ•œ ID๋ฅผ key๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋œ๋‹ค.

 

 

๐Ÿ“‹ map()๊ณผ forEach()์˜ ์ฐจ์ด ๐Ÿ“‹

๊ตฌ๋ถ„ map() forEach()
๋ฐ˜ํ™˜๊ฐ’ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๋ฐ˜ํ™˜ ๋ฐ˜ํ™˜๊ฐ’ ์—†์Œ(undefined)
JSX ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ถˆ๊ฐ€๋Šฅ
React์—์„œ ๋ฐ˜๋ณต ๋ Œ๋”๋ง ์‚ฌ์šฉ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ

 

 

๐Ÿ“ POINT ๐Ÿ“

โœ”๏ธ React์—์„œ ๋ฐ˜๋ณต๋˜๋Š” UI๋Š” map()์œผ๋กœ ๋ Œ๋”๋งํ•œ๋‹ค. โœ”๏ธ

โœ”๏ธ map()์œผ๋กœ ์ƒ์„ฑํ•œ ์š”์†Œ์—๋Š” ๋ฐ˜๋“œ์‹œ key ์†์„ฑ์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค. โœ”๏ธ

โœ”๏ธ key๋Š” ๋ฐฐ์—ด ์ธ๋ฑ์Šค๋ณด๋‹ค ๊ณ ์œ ํ•œ ID๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋œ๋‹ค. โœ”๏ธ

 

'<React>' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Styled component (์Šคํƒ€์ผ๋“œ ์ปดํฌ๋„ŒํŠธ)  (0) 2026.07.15
React Router (react-router-dom)  (0) 2026.07.14
Hash URL  (0) 2026.07.14
State (์Šคํ…Œ์ดํŠธ)  (0) 2026.07.08
Event (์ด๋ฒคํŠธ)  (0) 2026.07.08