TechBridge

ํผ ๋‹ค๋ฃจ๊ธฐ - controlled component

โ† ๋ชฉ๋ก์œผ๋กœ

๐Ÿ“‹ ์‹ค์Šต ์•ˆ๋‚ด

โœ๏ธ CODE EDITOR (JSX)
โ–ถ ์‹คํ–‰ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜์„ธ์š”.
๐Ÿ‘๏ธ ๋‚ด ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋‚ด ์ฝ”๋“œ ์‹คํ–‰ ๊ฒฐ๊ณผ
๐ŸŽฏ ์™„์„ฑ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ชฉํ‘œ
์œ„ ์—๋””ํ„ฐ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์„œ ์ด ๊ฒฐ๊ณผ๋ฌผ๊ณผ ๋˜‘๊ฐ™์ด ๋งŒ๋“ค์–ด๋ณด์„ธ์š”!
๐Ÿ’ก TODO ์ฃผ์„์„ ์ฑ„์›Œ์„œ ์œ„ ๊ฒฐ๊ณผ๋ฌผ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”
๐Ÿค– AI ์„ ์ƒ๋‹˜์—๊ฒŒ ์งˆ๋ฌธํ•˜๊ธฐ ์ด๋ฒˆ ๊ฐ•์˜ ์ „์šฉ โ–ผ
  ์„ ์ƒ๋‹˜์ด ๋‹ต๋ณ€ ์ค‘์ด์—์š”...
โš ๏ธ ํ•™์Šต ๊ด€๋ จ ์งˆ๋ฌธ๋งŒ ๋‹ต๋ณ€ํ•ฉ๋‹ˆ๋‹ค. ๊ด€๋ จ ์—†๋Š” ์งˆ๋ฌธ์€ ์ž๋™์œผ๋กœ ํ•™์Šต์œผ๋กœ ์œ ๋„๋ฉ๋‹ˆ๋‹ค.
Q1. React์˜ Controlled Component์—์„œ ํผ ์š”์†Œ์˜ ๊ฐ’์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์†์„ฑ ์Œ์€?
๐Ÿ’ก Controlled Component์—์„œ๋Š” value ์†์„ฑ์œผ๋กœ React ์ƒํƒœ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ , onChange๋กœ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. value๋งŒ ์„ค์ •ํ•˜๋ฉด ์ฝ๊ธฐ ์ „์šฉ์ด ๋˜์–ด ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.
Q2. ์ฒดํฌ๋ฐ•์Šค(checkbox)์˜ ํ˜„์žฌ ์„ ํƒ ์—ฌ๋ถ€๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์€?
๐Ÿ’ก ์ฒดํฌ๋ฐ•์Šค์˜ ํ˜„์žฌ ์ƒํƒœ๋Š” event.target.checked(boolean)๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. value๋Š” ํ…์ŠคํŠธ ์ž…๋ ฅ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
Q3. ์—ฌ๋Ÿฌ ์ž…๋ ฅ ํ•„๋“œ๋ฅผ ํ•˜๋‚˜์˜ ํ•ธ๋“ค๋Ÿฌ๋กœ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๊ฒƒ์€?
๐Ÿ’ก input์˜ name ์†์„ฑ์„ event.target.name์œผ๋กœ ์ฝ๊ณ , setForm(prev => ({...prev, [name]: value}))์ฒ˜๋Ÿผ computed property name์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•˜๋‚˜์˜ ํ•ธ๋“ค๋Ÿฌ๋กœ ๋ชจ๋“  ํ•„๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Q4. ํผ ์ œ์ถœ ํ•ธ๋“ค๋Ÿฌ์—์„œ ๋ฐ˜๋“œ์‹œ ํ˜ธ์ถœํ•ด์•ผ ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋Š”?
๐Ÿ’ก ํผ ์ œ์ถœ ์‹œ ๊ธฐ๋ณธ ๋™์ž‘์€ ํŽ˜์ด์ง€ ์ƒˆ๋กœ๊ณ ์นจ์ž…๋‹ˆ๋‹ค. event.preventDefault()๋ฅผ ํ˜ธ์ถœํ•ด ์ด ๊ธฐ๋ณธ ๋™์ž‘์„ ์ฐจ๋‹จํ•ด์•ผ React์—์„œ ํผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Q5. ํผ ์ƒํƒœ์˜ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์˜ฌ๋ฐ”๋ฅธ ๊ฒƒ์€?
๐Ÿ’ก ํ…์ŠคํŠธ ์ž…๋ ฅ์˜ ์ดˆ๊ธฐ๊ฐ’์€ ๋ฐ˜๋“œ์‹œ ๋นˆ ๋ฌธ์ž์—ด ''๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. null์ด๋‚˜ undefined๋ฅผ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด React๊ฐ€ ํ•ด๋‹น input์„ Uncontrolled๋กœ ์ธ์‹ํ•˜์—ฌ ๊ฒฝ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๐ŸŽ‰

ํ€ด์ฆˆ ํ†ต๊ณผ!

์ ์ˆ˜: 0์  โ€” ์ˆ˜๊ณ ํ•˜์…จ์Šต๋‹ˆ๋‹ค!

๋‹ค์Œ ๊ฐ•์˜๋กœ โ†’
๐Ÿ˜…

์•„์‰ฝ๋„ค์š”!

์ ์ˆ˜: 0์  โ€” 70์  ์ด์ƒ์ด ๋˜์–ด์•ผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค.