D+83
- React๋ฅผ ์ด์ฉํด ํฌ๋์ฑ(TO-DO) ๋ง๋ค์ด๋ณด๊ธฐ (1) -
(feat. ์ฒดํฌ๋ฐ์ค๋ก ๋ฆฌ์คํธ ๊ตฌํํ๊ธฐ)
์ด๋ฒ์ ๋ฆฌ์กํธ๋ฅผ ๋ฐฐ์ฐ๋ฉด์ ํ ์ค์ ๋ํด ์ข ๋ ๊น์ด ์๋ ๊ณต๋ถ๋ฅผ ํ๊ธฐ ์ ์
๋ ๋งค๋ญ์ง๋ ๋๋์ผ๋ก ํด๋์ค๋ฅผ ํตํด ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ porps๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ํด
ํ ๋ฒ ๋ ์ ๋๋ก ํด๋ณด๊ณ ์ถ์๊ณ ๋จ์ํ ํ ์คํธ๋ฅผ ํ์ธํ๊ธฐ ์ํ ๊ณผ์ ์ด ์๋
์ฒ์๋ถํฐ ๋๊น์ง ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์ด ๋ณด๊ณ ์ถ๋จ ๋ง์์ด ๋ค์๋๋ฐ
๋ง์นจ ๊ฐ์ด ๊ณต๋ถํ๋ ํ์ด๋ถ๊ป์ ๋ฆฌ์กํธ๋ฅผ ํตํด ํฌ๋์ฑ์ ๋ง๋ค์ด๋ณด์๋ ์ ์์ ํด์ฃผ์ จ๋ค.
์ดํ์ ๋ ์๊ฐ์ ๋๊ณ ๊ทธ ํ์ ์๋ก์ ๊ฒฐ๊ณผ๋ฌผ์ ํ์ธํ๋ ์์ ๋๋์ผ๋ก ํ๋ฑ ๋ง๋ค๊ธฐ๋ก ํ์๋ค.
๋ณธ๊ฒฉ ์ฑ์ ๋ง๋ค๊ธฐ ์ ์ ๊ฐ ์ปดํฌ๋ํธ์ ์์น๋ฅผ ๋๋ต์ ์ผ๋ก ํ์ ํ๊ธฐ ์ํด ๊ทธ๋ฆผ์ ๊ทธ๋ ค ํ์ ํด ๋ณด์๋ค.
• APP : ๊ฐ์ฅ ์๋จ์ ์์น
• AddTodo : ์ผ์ ์ ์ถ๊ฐ
• TodayList : ์ถ๊ฐ๋ ์ผ์ ์ ๋ํ ๋ชฉ๋ก๋ค
• TodayListEntry : TodayList์ ๊ด๋ จ๋ ๋ชฉ๋ก ํ๋ํ๋
App.js
๊ฐ์ฅ ์๋จ์ ์์นํ App์์ ์ง์์ ์ผ๋ก ๋ณ๊ฒฝ๋ list๋ฅผ ๊ณ ๋ คํด clss ํ์์ผ๋ก ์์ฑํ์ผ๋ฉฐ,
list์ ์ด๊ธฐ์ํ๋ ์ฝ๋๋ฅผ ์์ฑํ ๋, ์ ์๋๋๋์ง ํ์ธํ๊ธฐ ์ํด ์์๋ก ์์ฑํ ๋ฆฌ์คํธ๋ฅผ ๋ฃ์ด์ฃผ์๋ค.
๋ํ AddTodo์์ ์ถ๊ฐํ๊ธฐ ๋ฒํผ์ ๋๋ฅผ๋ list์ ๋ชฉ๋ก์ ๋ณ๊ฒฝํ๊ธฐ ์ํด addList๋ฅผ ๋ง๋ค์ด ์ฃผ์๋ค.
AddTodo.js
๋ฆฌ์คํธ๋ฅผ ์ถ๊ฐํ๋ AddTodo๋ input๋ฐ์ค์ ๊ฐ์ด ์ ์ ๋ ฅ๋๋๋ก fillTodo๋ฅผ onChange ํ ๋๋ง๋ค ๋์๊ฐ๋๋ก ํ๊ณ ,
์ด๋ ์์์๋ ๋ฒํผ์ ๋๋ ์ ๊ฒฝ์ฐ์ App์ ์๋ addList์ ์ํ๋ฅผ ๋ณด๋ด ๋ชฉ๋ก์ด ์ถ๊ฐ ๋ ์ ์๋๋ก ํ๋ค.
TodayList.js
๊ทธ๋ ๊ฒ ์ถ๊ฐ๋ ๋ฆฌ์คํธ๋ค์ TodayList๋ฅผ ํตํด ํ๋ฉด์ ๋ณด์ฌ์ค ์ ์๋๋ก ํ๋ค.
์ด๋ list์ ๋ชฉ๋ก ํ๋ํ๋๋ฅผ map์ ํตํด์ ๊ฐ๊ฐ ๊ตฌํ๋ ์ ์๋๋ก ํ๋ค.
TodayListEntry.js
TodayList๋ฅผ ํตํด ๊ฑด๋์จ ๋ชฉ๋ก ํ๋๋ ํ๋ฉด์ ๋ณด์ฌ์ค ์ ์๊ฒ ๋ ๋๋ฅผ ํด์ฃผ๋ฉด ๋๋๋ฐ
์ด๋ ์ธํํ์ ์ ์ฒดํฌ๋ฐ์ค๋ก ๊ตฌํํด ์ผ์ ์ด ์๋ฃ๋๋ฉด ์ฒดํฌ๋ ์ ์๋๋ก ํด์ค๋ค.
๋ํ ๋จ์ํ ์ฒดํฌ๋ง ๋๋ฉด ์ ํํ ์๋ฃ๋ ์ผ์ธ์ง ์๋์ง ๊ตฌ๋ณํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์
๋ชฉ๋ก์ ํด๋ฆญํ ๊ฒฝ์ฐ์ ์ค๊ฐ์ ์ด ๋ํ๋ ์ ์๋๋ก check๋ฅผ ๋ง๋ค์ด์ฃผ์๋ค.
check๋ for๋ฌธ์ ๋๋ ค list๋ฅผ ๋ค ๋๋ฆฌ๋ค๊ฐ ๋ด๊ฐ ํด๋ฆญํ id์ ์ผ์นํ ๊ฒฝ์ฐ์ ์คํ์ผ์ ์ถ๊ฐ ์์ผ ์ค๊ฐ์ ์ด ์๊ธฐ๋๋ก ํ๋ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ๊ตฌํํด์ ๋ง๋ค์ด์ง ๊ฒฐ๊ณผ๋ฌผ์ด๋ค.
INPUT TO-DO์ ๊ฐ์ ์ ๋ ฅํ ๋ค์ ๋ฒํผ์ ๋๋ฅด๋ฉด ์์ ๋ฆฌ์คํธ๋ค์ด ์ถ๊ฐ๋๊ณ
ํด๋น ๋ชฉ๋ก๋ค์ ํด๋ฆญํ๋ฉด ์ฒดํฌ๊ฐ ๋๋ฉด์ ์ทจ์์ ์ด ๋ฐ์๋ ์ ์๋๋ก ๊ตฌํ๋์๋ค.
๋ง๋ค๊ณ ๋์ ์ด์ง ํ์ ํจ์ ๋๊ผ๋๋ฐ
๋ชฉ๋ก ํ๋ํ๋์ X๋ฒํผ์ ๋ง๋ค์ด ๋จ์ํ ์ฒดํฌ๋ก ์๋ฃ๋ฅผ ํ์ํ๋ ๊ฒ์ด ์๋๋ผ
๋ฆฌ์คํธ์ ํน์ ๋ชฉ๋ก์ ์ญ์ ํ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํด๋ด์ผ ํ ๊ฒ ๊ฐ๋ค.
์ด๋ ๊ฒ ๋ง๋ค๊ณ ๋๋ ์ ๋ฒ ๋ฟ๋ฏ...ใ
'์๋ > Code-States' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[D+85] Redux ๊ฐ๋ ์ดํดํ๊ธฐ (0) | 2021.01.11 |
---|---|
[D+84] React๋ฅผ ์ด์ฉํด ํฌ๋์ฑ(TO-DO) ๋ง๋ค์ด๋ณด๊ธฐ (2) (8) | 2021.01.10 |
[D+82] immersive์ฝ์ค ๋๋ฒ์งธ ํ๊ฐ (0) | 2021.01.09 |
[D+81] React Hook (0) | 2021.01.08 |
[D+80] ์๊ณ ๋ฆฌ์ฆ๋ฌธ์ 5๋ฒ (0) | 2021.01.06 |
๋๊ธ