๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“‚ Project/Solo2

[๐Ÿ” ๋ง›์ง‘ ๊ณต์œ  ์‚ฌ์ดํŠธ] ๋ฆฌ์•กํŠธ๋กœ CRUD ๊ตฌํ˜„ํ•˜๊ธฐ ๐Ÿ› ๏ธ ๊ตฌํ˜„ํ•  ๊ธฐ๋Šฅ ์›น ์‚ฌ์ดํŠธ ๋‚ด์—์„œ ์‚ฌ์šฉ์ž๋“ค์ด ์ž์œ ๋กญ๊ฒŒ ๋ง›์ง‘ ์ถ”์ฒœ ๊ธ€์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ๋‹ค. As-Is: ํ˜„์žฌ๋Š” ๊ธฐ์กด์— ์˜ฌ๋ผ์˜จ ๊ธ€์„ ๋ณผ ์ˆ˜ ์žˆ๊ธฐ๋งŒ ํ•จ โžก๏ธ To-be: ๋ง›์ง‘ ์ œ๋ณด ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๊ธ€์„ Create, Read, Update ๊ทธ๋ฆฌ๊ณ  ์‚ญ์ œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด Delete ํ•  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ’ก ๊ตฌํ˜„ ๊ณผ์ • - Create 1. input ์นธ์„ ๋งŒ๋“ ๋‹ค. input์˜ ํƒ€์ž…์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋‹ค์–‘ํ•˜๋‹ˆ ๊ณจ๋ผ์„œ ํ™œ์šฉํ•ด ๋ณด์ž. // ์ˆœ์„œ๋Œ€๋กœ or ๊ทธ๋ƒฅ 2. onChange ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ํ™œ์šฉํ•œ๋‹ค. onChange ๋˜๋Š” onInput๋ผ๋Š” ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์— ๋ฌด์–ธ๊ฐ€ ์ž…๋ ฅ ์‹œ, ์ค‘๊ด„ํ˜ธ ์•ˆ์— ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋„๋ก ํ•œ๋‹ค. {console.log("์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•˜๋ฉด ๋‚˜ํƒ€๋‚˜๋Š” ๋‚ด์šฉ")}} /> ์•„.. 2023. 5. 16.
[๐Ÿ” ๋ง›์ง‘ ๊ณต์œ  ์‚ฌ์ดํŠธ] ๋ชจ๋‹ฌ์ฐฝ ๊ฐ™์€ ๋™์ ์ธ UI ๋งŒ๋“ค๊ธฐ ๐Ÿ› ๏ธ ๊ตฌํ˜„ํ•  ๊ธฐ๋Šฅ ์„ฑ์ˆ˜์—ญ, ๊ฐ•๋‚จ์—ญ, ์••๊ตฌ์ •์—ญ ์ด ์„ธ ๊ฐœ์˜ ์ œ๋ชฉ์ด ์žˆ๊ณ  ํ˜„์žฌ ๋„์›Œ์ง€๋Š” ๋ชจ๋‹ฌ์ฐฝ์—๋Š” ์ œ๋ชฉ์ด ์••๊ตฌ์ •์—ญ์œผ๋กœ๋งŒ ๋ณด์ด๋Š”๋ฐ, ๊ฐ ์ œ๋ชฉ์„ ํด๋ฆญํ•˜๋ฉด ๊ทธ์— ๋งž๋Š” ๋ชจ๋‹ฌ์ฐฝ์„ ๋„์šฐ๊ณ  ์‹ถ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์„ฑ์ˆ˜์—ญ ์ œ๋ชฉ์„ ํด๋ฆญํ•˜๋ฉด ์„ฑ์ˆ˜์—ญ ๋ง›์ง‘์„ ์†Œ๊ฐœํ•˜๋Š” ๋ชจ๋‹ฌ์ฐฝ์ด ๋„์›Œ์ง€๋„๋ก ๋ง์ด๋‹ค. As-Is: 3๊ฐœ์˜ ์ œ๋ชฉ์ด ์žˆ์œผ๋‚˜ ํ˜„์žฌ๋Š” ๋ชจ๋‹ฌ์ฐฝ์— 1๊ฐœ์˜ ์ œ๋ชฉ์œผ๋กœ๋งŒ ๋œธ โžก๏ธ To-be: ๊ฐ ์ œ๋ชฉ์„ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ์ œ๋ชฉ์„ ๊ฐ€์ง„ ๋ชจ๋‹ฌ์ฐฝ์„ ๋„์šฐ๊ณ  ์‹ถ์Œ ๐Ÿง ์ฒ˜์Œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ ์ฒ˜์Œ์—๋Š” ์ œ๋ชฉ๋‹น 1๊ฐœ์”ฉ ์ด 3๊ฐœ์˜ state๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์–ด์•ผ ํ•˜๋‚˜, ์•„๋‹ˆ๋ฉด ํƒ€์ดํ‹€ ์ธ๋ฑ์Šค์— ๋งž๊ฒŒ props๋ฅผ ๋‚ด๋ ค์ฃผ์–ด์•ผ ํ•˜๋‚˜ ์ƒ๊ฐํ–ˆ๋‹ค. ์ผ๋‹จ์€ modalTitle์ด๋ผ๋Š” state๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ณ , ์‚ผํ•ญ์—ฐ์‚ฐ์ž ์•ˆ์— ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค. import './App.css'; import lo.. 2023. 5. 11.