[React] State์™€ Props
728x90

๋ฆฌ์•กํŠธ์˜ state์™€ props์— ๋Œ€ํ•ด์„œ ๊ฐ€๋ณ๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค..!

ํ˜„์žฌ ๋‚ด์šฉ์€ ์ถ”ํ›„ ๋ง๋ถ™์—ฌ์ง€๊ฑฐ๋‚˜ ์ˆ˜์ •๋  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ˜‡ 

((์ž˜๋ชป๋œ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์ฒจ์–ธ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค..))

 

 

 

State

์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์—์„œ ๋ฐ”๋€” ์ˆ˜ ์žˆ๋Š” ๊ฐ’.

useState ํ›…์„ ํ†ตํ•ด ๋ฆฌ์•กํŠธ์— state์˜ ๋ณ€ํ™”๋ฅผ ์•Œ๋ ค์„œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žฌํ‰๊ฐ€๋  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

์ดํ›„ JSX๊ฐ€ ๋‹ค์‹œ ํ‰๊ฐ€๋˜๋ฉฐ ๋ณ€ํ™”๋œ ๋ถ€๋ถ„์„ ํ™”๋ฉด์— ๋ Œ๋”๋งํ•œ๋‹ค.

 

const [state, setState] = useState('');

 

state์— ๋ฐ”๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ์•ˆ ๋ ๊นŒ? useState๊ฐ€ const๋กœ ์ž‘์„ฑ๋œ ์ด์œ ๋Š”?? ๐Ÿค”

์šฐ์„  state๋Š” setState ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ๋งŒ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

state๋ฅผ ๋ฐ”๋กœ ์“ฐ๋ฉด ์•ˆ ๋˜๋‚˜? ์‹ถ์„ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ state๊ฐ€ ์ง์ ‘ ์ˆ˜์ •๋  ์œ„ํ—˜์„ ๋ฐฉ์ง€ํ•˜๊ณ  setState ํ•จ์ˆ˜๋ฅผ ์“ฐ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด useState๋Š” const๋กœ ์„ ์–ธ์ด ๋˜์–ด ์žˆ๋‹ค.

 

์•„๋ž˜ ๋ธ”๋กœ๊ทธ์—์„œ ์ข€ ๋” ์‹ฌ๋„ ๊นŠ์€ ๊ณ ๋ฏผ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

https://dudghsx.tistory.com/18

 

hooks์—์„œ useState๊ฐ€ const๋กœ ์„ ์–ธ๋˜๋Š” ์ด์œ 

์นด์นด์˜คํ†ก ์˜คํ”ˆ ์ฑ„ํŒ…๋ฐฉ์— ๋”ฐ๋ฅด๋ฉด ์š”์ฆ˜์˜ ๊ธฐ์—…๋“ค์€ ํด๋ž˜์Šคํ˜•์ด ์•„๋‹Œ ํ›…์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๋‚จ๋“คํ•˜๋Š”๊ฑด ๋‹ค ํ• ์ค„ ์•Œ์•„์•ผ์ง€.. ๊ทธ๋ž˜์„œ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ•˜๋‚˜์”ฉ ์ฝ์–ด๋ณด๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ko.reactjs.org/docs/hooks-s

dudghsx.tistory.com

 

 

Props

  • ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๋กœ๋ถ€ํ„ฐ ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ! (๋ฐ์ดํ„ฐ์˜ ๋ฌถ์Œ)
  • ์ปดํฌ๋„ŒํŠธ ๊ฐ„ ์ •๋ณด๋ฅผ ๊ต๋ฅ˜ํ•  ๋•Œ Props๋ฅผ ์ด์šฉํ•œ๋‹ค.
  • ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•ด์ฃผ์—ˆ์„ ๋•Œ, Props๋กœ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ–ˆ๋‹ค๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด Props๋กœ ๋„˜๊ธด ๊ฐ’์€ ์–ธ์ œ ๋ฐ”๋€Œ์ง€?? ๐Ÿค”

๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ ๋ณ€๊ฒฝ๋œ๋‹ค!

 

 

 

์ปดํฌ๋„ŒํŠธ์˜ ์žฌํ‰๊ฐ€

์ปดํฌ๋„ŒํŠธ๋Š” state๋‚˜ props, ๋˜๋Š” context๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ์žฌํ‰๊ฐ€๋œ๋‹ค.

์ด๋ ‡๊ฒŒ ์žฌํ‰๊ฐ€๋  ๋•Œ ๋ฆฌ์•กํŠธ๋Š” ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ ํ•จ์ˆ˜ ์ „์ฒด๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•œ๋‹ค. (ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์ผ ๊ฒฝ์šฐ๋ฅผ ์ „์ œ)

 

์ปดํฌ๋„ŒํŠธ ํ•จ์ˆ˜๊ฐ€ ์žฌ์‹คํ–‰๋œ๋‹ค๋ฉด ๊ทธ๋Ÿผ DOM๋„ ๋ฆฌ๋ Œ๋”๋ง ๋˜๋Š” ๊ฑด๊ฐ€? ๐Ÿค”

์ปดํฌ๋„ŒํŠธ ํ•จ์ˆ˜๊ฐ€ ์žฌ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ์‹ค์ œ DOM์ด ๋‹ค์‹œ ๋ Œ๋”๋ง ๋˜์ง„ ์•Š๋Š”๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์•ˆ์˜ ๊ฐ€์ƒ DOM์„ ํ†ตํ•ด์„œ ์ด์ „๊ณผ ๊ฐ€์ƒ DOM์œผ๋กœ ์ƒ์„ฑํ•œ ํ˜„์žฌ ์ƒํƒœ์— ์ฐจ์ด์ ์ด ์žˆ์„ ๋•Œ๋งŒ ์—…๋ฐ์ดํŠธ๋œ๋‹ค!

 

 

 

์ฐธ๊ณ 

  • Udemy React ์™„๋ฒฝ ๊ฐ€์ด๋“œ with Redux, Next.js, TypeScript ๊ฐ•์˜ ์ผ๋ถ€ ์ฐธ๊ณ 

 

 

 

728x90