๊ด€๋ฆฌ ๋ฉ”๋‰ด

ruriruriya

[React] ๋ฆฌ์•กํŠธ - props ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ณธ๋ฌธ

๐Ÿ–Œ๏ธWeb/React

[React] ๋ฆฌ์•กํŠธ - props ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

๋ฃจ๋ฆฌ์•ผใ…‘ 2024. 4. 29. 22:47
๋ฐ˜์‘ํ˜•

React์˜ props๋Š” ํ•œ๋งˆ๋””๋กœ ์–˜๊ธฐํ•˜๋ฉด '์†์„ฑ'์ด๋‹ค.
์‹ค์ œ๋กœ properties์˜ ์ค„์ž„๋ง!

props๋Š” ์ปดํฌ๋„ŒํŠธ๋กœ ์ „๋‹ฌ๋˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ, ์ปดํฌ๋„ŒํŠธ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.์ฃผ๋กœ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ ใ…—๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

1. props ์‚ฌ์šฉ๋ฐฉ๋ฒ• 

props ์ „๋‹ฌํ•˜๊ธฐ

๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ props๋ฅผ ์ „๋‹ฌํ•  ๋•Œ,
HTML ํƒœ๊ทธ ์†์„ฑ์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค.

props ์‚ฌ์šฉํ•˜๊ธฐ

์ž์‹ ์ปดํฌ๋„ŒํŠธ์—์„œ๋Š” ์ „๋‹ฌ๋ฐ›์€ props๋ฅผ ์ด์šฉํ•˜์—ฌ
๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜ ๋กœ์ง์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

// ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ
function App() {
  return (
    <div>
      <h1>์‚ฌ์šฉ์ž ์ •๋ณด</h1>
      <User name="๊น€์ฒ ์ˆ˜" age={30} />
    </div>
  );
}

// ์ž์‹ ์ปดํฌ๋„ŒํŠธ
function User(props) {
  return (
    <div>
      <p>์ด๋ฆ„: {props.name}</p>
      <p>๋‚˜์ด: {props.age}</p>
    </div>
  );
}

export default App;

 

2. props ํŠน์ง•

์ฝ๊ธฐ ์ „์šฉ

props ๋Š” ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๊ณ , ์˜ค์ง ์ฝ๊ธฐ๋งŒ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ์˜ ๋‹จ๋ฐฉํ–ฅ์˜ ํ๋ฆ„์„ ์œ ์ง€ํ•œ๋‹ค.

์žฌ์‚ฌ์šฉ์„ฑ

๊ฐ™์€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋‹ค๋ฅธ props๋กœ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์ปดํฌ๋„ŒํŠธ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์ด ์ฆ๊ฐ€ํ•œ๋‹ค.

// ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ
function App() {
  return (
    <div>
      <h1>์‚ฌ์šฉ์ž ์ •๋ณด</h1>
      <User name="๊น€์ฒ ์ˆ˜" age={30} />
      <User name="์˜ค์ด์ง€" age={33} />
      <User name="์œค์€์„ฑ" age={23} />
    </div>
  );
}

// ์ž์‹ ์ปดํฌ๋„ŒํŠธ
function User(props) {
  return (
    <div>
      <p>์ด๋ฆ„: {props.name}</p>
      <p>๋‚˜์ด: {props.age}</p>
    </div>
  );
}

export default App;
๋ฐ˜์‘ํ˜•