Front-End/์—๋Ÿฌ์‚ฌํ•ญ

Error] formํƒœ๊ทธ submit ์‹œ, ํŽ˜์ด์ง€ ์ด๋™ ๋ง‰๊ธฐ

์™•๊ฐ€๐Ÿ‘ 2023. 7. 7. 16:04
728x90
๋ฐ˜์‘ํ˜•

React์—์„œ formํƒœ๊ทธ ์ž‘์„ฑ ํ›„, button type์„ submit์„ ์ฃผ๊ณ  ์‹คํ–‰ํ–ˆ๋Š”๋ฐ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ๋กœ์ง๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๊ณ ,

formํƒœ๊ทธ ์•ˆ์— inputํƒœ๊ทธ๋“ค์˜ ๊ฐ’๋“ค์€ ์ดˆ๊ธฐํ™”๋˜๊ณ , ํŽ˜์ด์ง€๋Š” ๊ทธ๋Œ€๋กœ ์žˆ๋Š” ํ˜„์ƒ์„ ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค.

 

 


 

 

์›์ธ

formํƒœ๊ทธ์—์„œ submit์ด ์ž‘๋™ํ•˜๋ฉด,

action์†์„ฑ์— ์ง€์ •๋œ url๋กœ request ํ•˜์—ฌ ํ•ด๋‹น ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด ๊ธฐ๋ณธ ๋™์ž‘์ž…๋‹ˆ๋‹ค.

 

React ๊ฐœ๋ฐœ์ž(SPA)๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ƒˆ๋กœ๊ณ ์นจ ๋˜๋Š” ํ˜„์ƒ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด

์ง์ ‘ ์ž‘์„ฑํ•œ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋กœ์ง์ด ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ์›ํ•  ๊ฒ๋‹ˆ๋‹ค.

 

 


 

 

ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

์œ„์—์„œ ์„ค๋ช…ํ•œ submit๊ธฐ๋ณธ๋™์ž‘์€ ํ•„์š” ์—†์Œ์œผ๋กœ event.preventDefault()๋ฅผ ์ค˜์„œ request๋ฅผ ๋ง‰์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ submit ๋™์ž‘์„ ๋ง‰์•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ˜„ํ•œ ๋Œ€๋กœ ๋™์ž‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 


 

 

 

์˜ˆ

 

e.preventDefault() ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋ž‘ ์•ˆ ํ•  ๋•Œ๋ž‘์˜ ์ฐจ์ด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

ํ•ด๋‹น ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์œผ๋ฉด, console.log๊ฐ€ ์ฐํžˆ๊ณ  ํŽ˜์ด์ง€๊ฐ€ ์ƒˆ๋กœ๊ณ ์นจ๋˜๋ฉด์„œ log๊ฐ€ ์‚ฌ๋ผ์ง€๊ฒŒ ๋˜๊ณ ,

์‹คํ–‰ํ•˜๋ฉด ๊ฐ’์ด ์œ ์ง€๋˜๋ฉด์„œ console.log๊ฐ€ ์ฐํžˆ๊ณ  ๋‚จ์•„์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 


 

 

 

 

error๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฑด ์•„๋‹ˆ์ง€๋งŒ, formํƒœ๊ทธ์˜ ๊ธฐ๋ณธ ์›๋ฆฌ๋ฅผ ๋ชจ๋ฅธ๋‹ค๋ฉด error๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ๋ณด๋‹ค ๋” ์–ด๋ ค์šธ ์ˆ˜๋„ ์žˆ๋Š” ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.
๋†“์น˜๊ธฐ ์‰ฝ๊ธฐ๋„ ํ•˜๊ณ  ๊นŒ๋จน์„ ๊ฐ€๋Šฅ์„ฑ๋„ ๋†’์œผ๋‹ˆ ์ถฉ๋ถ„ํžˆ ์ธ์ง€ํ•˜๊ณ  ์žˆ๋Š” ํŽธ์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค

 

 

728x90