์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- float
- ๋ฐ๋ธ์ฝ์ค
- ์ฝ๋ฉํ ์คํธ
- CSS
- fetch API
- ๋ฐ๋ธ์ฝ์ค3๊ธฐ
- ์๊ณ ๋ฆฌ์ฆ
- Props
- ์๋ฐ์คํฌ๋ฆฝํธ
- useRef
- history api
- ๋ธ๋ก๊ทธ
- position
- useEffect
- REACT
- Flex
- ํ๋ก ํธ์๋
- Gatsby
- ํ๋ก๊ทธ๋๋จธ์ค
- Today
- Total
Daehyunii's Dev-blog
3์ฃผ์ฐจ ๊ณผ์ - TO-DO ์ฑ ๊ฐํํ๊ธฐ ๋ณธ๋ฌธ
3์ฃผ์ฐจ ๊ณผ์
3์ฃผ์ฐจ ๊ณผ์ ๋ ์ด๋ฒ์ฃผ ๋์ ๊ณต๋ถํ ๋ด์ฉ๋ค์ ํ ๋๋ก SIMPLE TODO LIST๋ฅผ ๊ฐํํ๋๊ฒ์ด ๊ณผ์ ์๋ค. ๊ธฐ๋ณธ์ ์ธ ๊ตฌํ๋ค์ ๋์ด ์์๊ณ , ์ถ๊ฐ์ ์ธ ์๊ตฌ์ฌํญ๋ค์ด ์์๋ค.
- ๋ฆฌ์คํธ์ ์ญ์ ๋ฒํผ์ ์ถ๊ฐํ๋ค.
- ๋ฆฌ์คํธ๋ฅผ ํด๋ฆญ์ ํด๋น text๋ฅผ ํ ๊ธ์ํจ๋ค.
- ํด์ผ ํ ์ผ ์ ์ฒด ๊ฐ์์ ํ ๊ธ์ด ๋ ์๋ฃ๋ ํ ์ผ์ ๊ฐ์๋ฅผ ํํํ๋ todoCount ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ์ฑํ๋ค.
- new ์ฐ์ฐ์ ์์ด ํธ์ถํ ๊ฒฝ์ฐ ์๋ฌ๊ฐ ๋๋๋ก ๋ฐฉ์ด์ฝ๋๋ฅผ ๊ตฌํํ๋ค.
- status๋ฅผ ๊ฐ๋ ๊ณณ์ validation์ ์ถ๊ฐํ๋ค.
์ ๋๊ฐ ์๊ตฌ์ฌํญ ์ด์๋๊ฒ ๊ฐ๋ค. ์ปดํฌ๋ํธ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋๊ฒ์ด ์ฒ์์ด๋ค๋ณด๋ ์ฝ๋๋ฅผ ์ฝ๋๊ฒ ์กฐ์ฐจ ์ฝ์ง ์์๋๊ฒ ๊ฐ๋ค. ๊ทธ๋์ ์ฒ์ ๊ณผ์ ๋ฅผ ์ ์ถํด์ผํ๋ ๊ธ์์ผ์๋ ๊ฑฐ์ 40% ์์ฑ๋,,๋ด๊ฐ ๋ด๋ ์๋ง์ธ ์ฝ๋๋ฅผ ์ ์ถํ ์ ๋ฐ์ ์์๋ค. ์ ์ถ๊ธฐํ์ ์ง์ผ์ผ ํ๋ค๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๋ง๊ฐ๊น์ง ์์ฑํ ์ฝ๋๋ฅผ ์ ์ถํ์๊ณ , ์ฃผ๋ง ๋์์ ์ด๋ค ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฉ์ปค๋์ฆ์ ์ต์ํด ์ง๊ธฐ ์ํด ๊ฐ์๋ ์ ์ฒญํด์ ์ด์ฌํ ๋ค์๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๋ ๋๋ฃ๋ถ๋ค์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํด์ ์ด์ฌํ ๋ถ์ํ๊ธฐ ์์ํ๋ค. ์ฌ๋ ์ค์ฟจ ๋ง์ธ๋๋ก,,, ์ ๋ณตํ๊ฒ ๋ค๋ ์๊ฐ์ผ๋ก ์์ํ๋ค..
(ํด๋น ์ฝ๋๋ค์ ๋ฐ๋ธ์ฝ์ค 3๊ธฐ์ '์ ์น์ค'๋์ ์ฝ๋์ด๋ค. ์ผ๋ง๋ ์ง ํ์ฉํด๋ ์ข๋ค๊ณ ํ๋ฝํด์ฃผ์ จ๋ค ใ ใ ใ ๐ฅน๊ณ ๋ง์ต๋๋ค..)


์ด๋ ๊ฒ ๋ชจ๋ ์ฝ๋๋ค์ ํ๋ ํ๋ ์์ฑํด๊ฐ๋ฉฐ ์ดํดํด ๋ณด๋ ค๊ณ ๋ ธ๋ ฅํ๋ค. ๋ฌผ๋ก ์ด ๋ชจ๋ ๊ณผ์ ์ ๋งค๋ฒ ๋ฐ๋ณตํ ์๋ ๋ ๋ฐ๋ณตํด์๋ ์๋๋ค๋๊ฒ์ ์๊ณ ์๋ค!! ํ์ง๋ง ์ง๊ธ์ ์ ์ฒด์ ์ ์ปดํฌ๋ํธ๋ค์ด ์ด๋ป๊ฒ ๊ตฌ์ฑ๋๊ณ , ์๋ก ์ด๋ป๊ฒ ์ฐ๊ฒฐ์ด ๋๋์ง ์์๋ณด๋๊ฒ ์ค์ํ๋ค๊ณ ์๊ฐํด ํ ๋ฒ ์ดํดํ ๋ ํ์คํ ์ดํดํ์๋ ๋ง์๊ฐ์ง์ผ๋ก ์๋ํด ๋ณด์๋ค. ๊ฒฐ๊ณผ๋ ๋ ์ฑ๊ณต์ด์๋ค. ์ฝ๊ณ ๋ ์ฝ๊ณ ์ฐ๊ฒฐํด๋ณด๊ณ ๋ ์ฐ๊ฒฐํด ๋ณด์๋ค. 3-4์๊ฐ์ ์กฑํ ๊ฑธ๋ฆฐ๊ฒ ๊ฐ์ง๋ง, ์ดํด๊ฐ ๋์๋ค!!!!!!! ํ ๋ฒ ์ดํด๋ฅผ ํ๊ณ ์ฝ๋๋ค์ ๋ฐ๋ผ๋ณด๋ ์์ฐ์ค๋ฝ๊ฒ ๊ตฌ์กฐ๋ค์ด ๋ณด์ด๊ธฐ ์์ํ๋ค.. ๊ฐ๊ฒฉ์ ์๊ฐ์ด ๋ฐ๋ก ์์๋ค..

์ปดํฌ๋ํธ๋ ์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๊ตฌ์ฑ๋์ด ์์๊ณ , ํด๋น ์ปดํฌ๋ํธ์ ์ ๋ฌ๋๋ ๋ฐ์ดํฐ๋ค์ด ๋ฌ๋๋ค.
//app์ปดํฌ๋ํธ์ state
{
todos: [id:'๊ฐ', text:'input๊ฐ', isCompleted: boolean],
totalTodoCount: '์ซ์๊ฐ',
completedTodoCount: '์ซ์๊ฐ'
}
์์ app ์ปดํฌ๋ํธ๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ๋ฅผ todoList์๋ todos๋ฅผ, todoCount์๋ totalTodoCount์ completedTodoCount๋ฅผ ๋ฐ์ดํฐ๋ก ์ ๋ฌํด ์ฃผ์๋ค. ์ด์ ๊ฐ์ ๋ฐฉ์์ผ๋ก TodoList๊ฐ ๊ตฌํ๋์๋ค. ๊ตฌํํ ๋ก์ง์ ๋ค์๊ณผ ๊ฐ์ด ๋์ํ๋ค.
์ฝ๋๋ Github์ ๊ณ ์ค๋ํ pushํด ๋์์ต๋๋ค.
https://github.com/WooDaeHyun/Dev_course-second-assignment
GitHub - WooDaeHyun/Dev_course-second-assignment
Contribute to WooDaeHyun/Dev_course-second-assignment development by creating an account on GitHub.
github.com
๊ณผ์ ๋ฅผ ๋ง๋ฌด๋ฆฌ ํ๋ฉฐ
์ฐ์ ์ปดํฌ๋ํธ ๋ฐฉ์์ผ๋ก ์ฝ๋๋ฅผ ๊ตฌ์ฑํ๋ค๋ ๊ฒ์ ์์ฒญ๋ ์ฅ์ ๋ค์ ๋ํด์ ์ ์ ์์์ต๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ํ์ผ๋ณ๋ก ๋ถ๋ฆฌ๋ฅผ ํ๋๋ผ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋์ ์ ์ญ๊ฐ์ฒด๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ๋ณ์๋ฅผ ์ค์ ํ๊ฑฐ๋ ํจ์ ์์ด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ ๋ถ๋ถ๋ค์ ๋ชจ๋๋ก ๋ถ๋ฆฌํ๊ณ (์ด์ ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ชจ๋์ด ์ง์๋์ง๋ ์์๋ค. ํ์ง๋ง ์ด์ ๋ ๋ชจ๋์ ํ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๊ฒผ๋ค.)export์ import๋ฅผ ํตํด์ ํ์ํ ์ ๋ณด๋ค๋ง ์ฃผ๊ณ ๋ฐ์ ๋ถํ์ํ ๋ฐ์ดํฐ๊น์ง ๋์ด๊ฐ๋๊ฒ์ ๋ฐฉ์งํ ์ ์์๊ณ ํ์ผ๊ณผ ํ์ผ๋ค ๊ฐ์ ๋ ๋ฆฝ์ฑ์ด ์ ์ง๋๋ค ๋ณด๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค๋ฉด, ํด๋น ํ์ผ์์๋ง ๋ฌธ์ ๋ฅผ ์ฐพ์ ํด๊ฒฐํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์ด์๋ค. ๋ฌผ๋ก ์ปดํฌ๋ํธ ๋ฐฉ์์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด ์ฒ์์๋ ํด๋น ์ฝ๋๋ฅผ ์ดํดํ๋๋ฐ ๋ถ๋ช ์ฝ๊ฒ ์ดํด๊ฐ ๋ ๊ฒ ๊ฐ์ง๋ ์๋ค. ํ์ง๋ง ์ด ๋ฐฉ์์ด ์ต์ํด์ง๊ณ ์ฝ๋๋ฅผ ์ฝ๋ ๊ณผ์ ์ด ์ต์ํ ์ฌ๋์ด๋ผ๋ฉด ๋งค์ฐ ํจ์จ์ ์ธ ๋ฐฉ์์ด๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.