๐ 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. ์ด์ 1 ๋ค์