Front-End/React

React] Hook : props

์™•๊ฐ€๐Ÿ‘ 2023. 6. 6. 18:29
728x90
๋ฐ˜์‘ํ˜•

Props

properties์˜ ์ค„์ž„๋ง๋กœ, Component๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์†์„ฑ๊ฐ’์ž…๋‹ˆ๋‹ค. (HTML์—์„œ์˜ attribute์™€ ๊ฐ™์Œ)

Component๋ผ๋ฆฌ (๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ → ์ž์‹ ์ปดํฌ๋„ŒํŠธ) ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค๋‹ˆ๋‹ค.

 

๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ๋ถ€๋ชจ์—์„œ๋งŒ props์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ž์‹์—์„œ ๊ฐ’์„ ๋ถ€๋ชจ๋กœ ๋„˜๊ฒจ ๋ถ€๋ชจ์—์„œ์˜ ๊ฐ’๋„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 


 

 

์˜ˆ

 

๊ฐ’ ์ „๋‹ฌ

  • Title ์ปดํฌ๋„ŒํŠธ
    HelloWorld์—์„œ language๋ฅผ kor๋กœ ํ•˜์—ฌ Title์ปดํฌ๋„ŒํŠธ์— props๋กœ ๋„˜๊ธฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • Title2 ์ปดํฌ๋„ŒํŠธ
    HelloWorld์—์„œ language์™€ name ๋‘ ๊ฐ€์ง€ props๋ฅผ ์ „๋‹ฌํ•˜์˜€๊ณ ,
    Title2์—์„œ๋Š” ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น์œผ๋กœ language(๋ณ€์ˆ˜), name(์ฝœ๋ฐฑํ•จ์ˆ˜) ๊ฐ’์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.
    Title2์—์„œ name์— "์™•๊ฐ€"๋ผ๋Š” ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๊ฒŒ ๋˜๊ณ , ์ฝœ๋ฐฑํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜์–ด console.log์— "์™•๊ฐ€"๋ฅผ ์ฐํžˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 

ํƒœ๊ทธ ์ „๋‹ฌ

  • Title3 ์ปดํฌ๋„ŒํŠธ
    ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํƒœ๊ทธ๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    Title3 ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ณด๊ฒŒ ๋˜๋ฉด ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์ธ HelloWorld์—์„œ pํƒœ๊ทธ 2๊ฐœ๋ฅผ Title3 ํƒœ๊ทธ ์•ˆ์— ํ’ˆ๊ฒŒ ๋˜๋ฉฐ,
    Title3์—์„œ๋Š” ํ•ด๋‹น ํƒœ๊ทธ๋ฅผ children์œผ๋กœ ๋ฐ›์•„์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 


 

 

๋ถ€๋ชจ์ปดํฌ๋„ŒํŠธ์™€ ์ž์‹์ปดํฌ๋„ŒํŠธ์‚ฌ์ด์—๋Š” ํƒœ๊ทธ, ๊ฐ’, ํ•จ์ˆ˜ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋กœ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
728x90

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

React] Hook  (0) 2023.06.20
React] Hook : useState  (1) 2023.06.06
React] Import & export  (0) 2023.06.06
React] Component & JSX  (0) 2023.06.04
React] React ๋ž€...?  (0) 2023.06.04