์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- REACT
- Gatsby
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฐ๋ธ์ฝ์ค
- float
- ์ฝ๋ฉํ ์คํธ
- ๋ธ๋ก๊ทธ
- useEffect
- useRef
- CSS
- fetch API
- history api
- Flex
- ์๋ฐ์คํฌ๋ฆฝํธ
- ํ๋ก๊ทธ๋๋จธ์ค
- ํ๋ก ํธ์๋
- Props
- position
- ๋ฐ๋ธ์ฝ์ค3๊ธฐ
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (311)
Daehyunii's Dev-blog
fetch API ๋? 1. ๋น๋๊ธฐ HTTP ์์ฒญ์ ์ข ๋ ์ฐ๊ธฐ ํธํ๊ฒ ํด์ฃผ๋ API์ด๋ค. XMLHTTPRequest๋ฅผ ๋์ฒดํ๋ฉฐ, Promise๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ค. 2. fetch๋ HTTP ์๋ฌ๊ฐ ๋ฐ์ํ๋๋ผ๋ reject๋์ง ์๋๋ค. 3. ๋คํธ์ํฌ ์๋ฌ๋ ์์ฒญ์ด ์๋ฃ๋์ง ๋ชปํ ๊ฒฝ์ฐ์๋ง reject ๋๋ค. ๋ฐ๋ผ์ ์ค์ ๋ก fetch๊ฐ ์ฑ๊ณตํ๋์ง ํ์ธ์ ํด์ผํ๋ค. response์ status code๋ ok๋ฅผ ์ฒดํฌํ๋ ๊ฒ์ด ์ข๋ค. 4. ์ฐธ๊ณ ๋ก ok๋ status๊ฐ 200-299 ์ฌ์ด์ธ ๊ฒฝ์ฐ๋ง true๊ฐ ๋๊ธฐ ๋๋ฌธ์, 300๋ status์๋ ์ฒ๋ฆฌ๋ฅผ ํด์ผํ๋ค๋ฉด ์ฌ์ฉ์ด ์ด๋ ค์ธ ์ ์๋ค. fetch API ์ฌ์ฉํ๊ธฐ 1. fetch์ ๊ธฐ๋ณธ ์๋ต ๊ฒฐ๊ณผ๋ Response ๊ฐ์ฒด์ด๋ค. ๋ฐ๋ผ์ json()์ด๋ text()๋ก..
์ด๋ฒ 6์ฃผ์ฐจ ๊ณผ์ ๋ ๊ธฐ์กด์ ๊ฐ์๋ฅผ ํ ๋๋ก ์ต์ ํ ๋ฐ ๊ฐ๋จํ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ฐ๋จํ ๊ณผ์ ์๋ค. ์ฐ์ ๊ณ ์์ด ์ฌ์ง์ฒฉ ๋ง๋ค๊ธฐ ๊ฐ์๋ฅผ ํตํด์ ๊ทธ ๋์ ๋ฐฐ์ ๋, ๋ด์ฉ๋ค์ ๋ณต์ตํ๋ ์๋ฏธ๊ฐ ๊ฐํ๊ณ ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ์ฑํ๊ณ API๋ฅผ ํตํด์ ์๋ฒ์ ํต์ ํ๊ณ ๋ ๋ฐ์์จ ๋ฐ์ดํฐ๋ฅผ ํ์ ์ปดํฌ๋ํธ์๊ฒ ๋ฟ๋ ค์ฃผ์ด ์ด๋ฅผ ํ์ฉํ๋ ์ผ๋ จ์ ๊ณผ์ ์ ๋ค์ ํ ๋ฒ ๊ณ ์์ด ์ฌ์ง์ฒฉ์ ํตํด์ ๋ณต์ตํ๋ ๊ณผ์ ์ด์๊ณ ๊ทธ ๊ณผ์ ์์ ๊ฐ๋จํ ๊ณผ์ ๊ฐ ์ฃผ์ด์ก๋ค.์๊ตฌ ์ฌํญ์ ์๋์ ๊ฐ๋ค. ๊ณผ์ ๊ธฐ๋ณธ ์๊ตฌ ์ฌํญ 1. ์ง๊ธ ๊ตฌํ๋ ์ฝ๋์์๋ state์ ๋ํ ์ ํฉ์ฑ ์ฒดํฌ๋ฅผ ์ ํ ํ์ง ์๋๋ฐ, ์ด ๋ถ๋ถ์ ๋ณด์ถฉํด์ฃผ์ธ์. 2. ์ปดํฌ๋ํธ๋ณ๋ก ์ฌ๋ฐ๋ฅด์ง ์์ state๋ฅผ๋ฃ์ผ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ก ํด์ฃผ์ธ์. 3. ๊ฐ ์ปดํฌ๋ํธ์ setState๋ฅผ ์ต์ ํํ์ฌ ์ด์ ์ํ์ ๋น๊ตํด์ ๋ณ๊ฒฝ์ฌํญ..
10์ 17์ผ๋ถํฐ 11์ 16์ผ ๊น์ง๋ ์๊ฐ์ด ์ด๋ป๊ฒ ํ๋ฌ๊ฐ๋์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค. ๋ธ๋ก๊ทธ๋ฅผ ์์ฑํ ์๊ฐ์ ์ฌ์ ๊ฐ ์์ ์ ๋๋ก ๊ฐ์ธ์ ์ผ๋ก ๊ณต๋ถํด์ผํ ๊ฒ๋ค์ด ๊ต์ฅํ ๋ง์๋ค. ํ ๋ฌ์ด๋ผ๋ ๊ธฐ๊ฐ์ด ์ด๋ป๊ฒ ๋ณด๋ฉด ์ฝ๋ ๊ตฌํ๊ณผ ๊ด๋ จํด์ ์ฌ๊ณ ์ ํ์ ๋ํ์ฃผ๋ ๊ณผ์ ์ด๋ผ๋ ์๊ฐ์ด ๋ค์๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ง์ ๊ฐ์ธ ํ๋ก์ ํธ๊ฐ 11์ 7์ผ๋ถํฐ ~ 11์ 16์ผ๊น์ง ์ด์ด์ก๋ค. ๋ ธ์ ํด๋ก๋ ๊ด๋ จ ๋ด์ฉ์ ํ๊ธฐ๋ฅผ ์์ฑํด ๋ณด์๋ค. 2022.11.17 - [๐ Dev Cours/Personal Project] - Notion cloning(11.7 ~ 11.16) ํ๊ณ Notion cloning(11.7 ~ 11.16) ํ๊ณ ๋ ธ์ ํด๋ก๋ ์ฝ 10์ผ ์ ๋์ ์๊ฐ์ ๊ฐ์ง๊ณ ๋ ธ์ ์ ๊ธฐ๋ณธ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฐ์ธ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค. ์ฐ์ ๊ธฐ๋ณธ์ ์ธ ์๊ตฌ ์ฌํญ..
๋ ธ์ ํด๋ก๋ ์ฝ 10์ผ ์ ๋์ ์๊ฐ์ ๊ฐ์ง๊ณ ๋ ธ์ ์ ๊ธฐ๋ณธ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฐ์ธ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค. ์ฐ์ ๊ธฐ๋ณธ์ ์ธ ์๊ตฌ ์ฌํญ๋ค์ ๋ค์๊ณผ ๊ฐ๋ค. ํ๋ฉด ์ข์ธก์ Root Documents๋ฅผ ๋ถ๋ฌ์ค๋ API๋ฅผ ํตํด root Documents๋ฅผ ๋ ๋๋ง ํฉ๋๋ค. Root Documents๋ฅผ ํด๋ฆญํ๋ฉด ์ค๋ฅธ์ชฝ ํธ์ง๊ธฐ ์์ญ์ ํด๋น Documents์ Content๋ฅผ ๋ ๋๋ง ํฉ๋๋ค. ํด๋น Root Document์ ํ์ Document๊ฐ ์๋ ๊ฒฝ์ฐ, ํด๋น Document ์๋์ ํธ๋ฆฌ ํํ๋ก ๋ ๋๋ง ํฉ๋๋ค. Document Tree์์ ๊ฐ Document ์ฐ์ธก์๋ + ๋ฒํผ์ด ์๊ณ , ํด๋น ๋ฒํผ์ ํด๋ฆญํ๋ฉด, ํด๋ฆญํ Document์ ํ์ Document๋ก ์ Document๋ฅผ ์์ฑํ๊ณ ํธ์งํ๋ฉด์ผ๋ก ๋๊น๋๋ค. ํธ์ง๊ธฐ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก..
๋ฐ๋ธ์ฝ์ค๊ฐ ์์๋์ง ๋ฒ์จ 3์ฃผ?.. ์๋ ๋ฌด์จ ๋ฒ์จ ์ผ์ฃผ๊ฐ... ์๊ฐ์ด ๋๋ฌด ๋นจ๋ฆฌ ํ๋ฌ๊ฐ๋๊ฒ ๊ฐ๋ค. ๋งค์ผ ์ด์ฌํ๋ ํ๊ณ ์๋ค๊ณ ์๊ฐํ๋๋ฐ 3์ฃผ ๋์ ๋ฌด์์ ํ์ง? ๋ผ๊ณ ๋ฌผ์ด๋ณธ๋ค๋ฉด ์ค๋ช ํ๊ธฐ๊ฐ ์ด๋ ค์ ์ง๋๊ฒ ๊ฐ๋ค. ์ฌํ์ง๋ง,, ๊ทธ๋๋ ์ค๋๋ ์ด์ฌํ ๊ณต๋ถํ๋ค!!๐ฅ ์ฐ์ ์ค๋์ ๋ฐ๋ธ์ฝ์ค 3์ฃผ์ฐจ ๊ณผ์ ๋ฅผ ๋ค์ ๊ณต๋ถํ๊ณ ๊ตฌํํด ๋ณด์๋ค. ๊ฐ์๋ฅผ ๋ค์ผ๋ฉฐ ๊ตฌํํด๋ณธ todoList๋ฅผ ๊ฐํํ๋๊ฒ์ด ์ด๋ฒ์ฃผ ๊ณผ์ ์๊ณ , ๊ณผ์ ์ ์ถ ๋น์ผ์๋ ํด๋น ๊ณผ์ ๋ฅผ ์๋ฒฝํ๊ฒ ์ํํด ๋ด์ง ๋ชปํ๋ค. ๊ทธ๋๋ ์ด๋๋ก ๋ฌผ๋ฌ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ๋ธ์ฝ์ค์ ์ฅ์ ์ ์ด๋ ค ๋ค๋ฅธ ๋ง์ ๋ถ๋ค์ ์ฝ๋๋ฅผ ๋ถ์ํ๊ณ ๋ ์ฝ์๋ค. ๊ทธ ์ค์์๋ ์ฝ๋๋ฅผ ๊ฐ์ฅ ๊น๋ํ๊ฒ ์์ฑํ๋ค๊ณ ์๊ฐํ๋ ๋ถ์ ์ฝ๋๋ฅผ ๋ถ์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ณต๋ถํ๊ณ , todoList ์ฝ๋๋ฅผ ์ต๋ํ ํผ์ ์์ฑํ๋ ค๊ณ ๋ ธ๋ ฅํ..
์ด๋ฒ์ฃผ๋..์ด๋ ค์ ๋ค ์ง์ง.. ์ด๋ฒ ์ฃผ๋ ์ ๋ง ์ฝ์ง ์์ ์ผ์ฃผ์ผ์ ๋ณด๋ธ๊ฒ ๊ฐ๋ค. ๊ณผ์ ๋ฅผ ํจ์ ์์ด SIMPLE TODO LIST๋ฅผ ๋ง๋ค์ด์ผ ํ๊ณ , ๊ฐ์์์๋ Local Storage, fetch(), promise ๋ฑ๋ฑ ๋ง์ ๊ฒ๋ค์ ํ์ฉํด์ ๊ณ์ํด์ TODO LIST๋ฅผ ๊ตฌํํ๋ ๊ฒ์ ๊ฐ์ํ๋ค. ํ์ง๋ง ๋ฌธ์ ๋ ์ปดํฌ๋ํธ ๋จ์๋ก ์ฝ๋๋ฅผ ๊ตฌ์ฑํด๋ณธ์ ๋, ์ ๋๋ก ๋ณธ์ ๋ ์์๊ธฐ ๋๋ฌธ์ ์ฝ๋๋ฅผ ์ ๋๋ก ์ดํดํ์ง๋ ๋ชปํ๋ค. ๊ทธ๋์ ๊ฒฐ๊ตญ ๊ณผ์ ๋ ์ ์ถํ๊ธด ํ์ง๋ง,, ๋ด๊ฐ ๋ด๋ ์ด๊ฑธ ์ฝ๋๋ผ๊ณ ํ ์ ์๋?.. ์ถ์ ๋๋์ด ๋ค์๋ค. ๊ทธ ๋์ ๊ธฐ๋ณธ๊ฐ๋ ๊ณผ ๋์์๋ฆฌ๋ถํฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์ถฉ์คํ๊ฒ ์์๋๊ฐ์ผ ํ๋ค๋ ์๊ฐ์ ํ๋ฉฐ ๋๋ฆ๋๋ก ์ด์ฌํ ํด์๋ค๊ณ ์๊ฐํ๋๋ฐ ใ ใ ใ ๋ฐ๋ธ์ฝ์ค ๊ณผ์ ์ ์ด๋ฐ ๋ ๊ธฐ๋ค๋ ค์ฃผ์ง๋ ์์๋ค,,,๊ณผ์ ๋ฅผ ์ ์ถํ๋ ๋น์ผ์๋ ๋ฉํ..
3์ฃผ์ฐจ ๊ณผ์ 3์ฃผ์ฐจ ๊ณผ์ ๋ ์ด๋ฒ์ฃผ ๋์ ๊ณต๋ถํ ๋ด์ฉ๋ค์ ํ ๋๋ก SIMPLE TODO LIST๋ฅผ ๊ฐํํ๋๊ฒ์ด ๊ณผ์ ์๋ค. ๊ธฐ๋ณธ์ ์ธ ๊ตฌํ๋ค์ ๋์ด ์์๊ณ , ์ถ๊ฐ์ ์ธ ์๊ตฌ์ฌํญ๋ค์ด ์์๋ค. ๋ฆฌ์คํธ์ ์ญ์ ๋ฒํผ์ ์ถ๊ฐํ๋ค. ๋ฆฌ์คํธ๋ฅผ ํด๋ฆญ์ ํด๋น text๋ฅผ ํ ๊ธ์ํจ๋ค. ํด์ผ ํ ์ผ ์ ์ฒด ๊ฐ์์ ํ ๊ธ์ด ๋ ์๋ฃ๋ ํ ์ผ์ ๊ฐ์๋ฅผ ํํํ๋ todoCount ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ์ฑํ๋ค. new ์ฐ์ฐ์ ์์ด ํธ์ถํ ๊ฒฝ์ฐ ์๋ฌ๊ฐ ๋๋๋ก ๋ฐฉ์ด์ฝ๋๋ฅผ ๊ตฌํํ๋ค. status๋ฅผ ๊ฐ๋ ๊ณณ์ validation์ ์ถ๊ฐํ๋ค. ์ ๋๊ฐ ์๊ตฌ์ฌํญ ์ด์๋๊ฒ ๊ฐ๋ค. ์ปดํฌ๋ํธ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋๊ฒ์ด ์ฒ์์ด๋ค๋ณด๋ ์ฝ๋๋ฅผ ์ฝ๋๊ฒ ์กฐ์ฐจ ์ฝ์ง ์์๋๊ฒ ๊ฐ๋ค. ๊ทธ๋์ ์ฒ์ ๊ณผ์ ๋ฅผ ์ ์ถํด์ผํ๋ ๊ธ์์ผ์๋ ๊ฑฐ์ 40% ์์ฑ๋,,๋ด๊ฐ ๋ด๋ ์๋ง์ธ ์ฝ๋๋ฅผ ์ ์ถํ ์ ๋ฐ์ ..
DOM๊ฐ์ฒด, ์ด๋ฒคํธ, ํ์ด๋จธ ์ด์ ์์์ผ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ๋ง์ ๋นํฉ์ ํ์๋ค. ๋ฐ๋ก ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ์ฑํ๋ฉด์ 'TodoList' ๋ฅผ ๋ง๋ค์ด ๋ณด๋ ๊ฐ์์๋ค. ๊ทธ ๋์์ ๊ฐ์์์๋ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด๊ฐ๋ , ์๊ณ ๋ฆฌ์ฆ๊ณผ ์๋ฃ๊ตฌ์กฐ์ ๋ํด์ ๊ณต๋ถ๋ฅผ ํ์๋ค. ๊ทธ๋์ ๋์๊ฒ๋ ๊ทธ๋๋ ์ต์ํ ๋ถ๋ถ์ด๋ผ ๊ทธ๋ ๊ฒ ๋นก๋นกํ๊ฒ ๋๊ปด์ง์ง๋ ์์๋ค. ๊ทธ๋ฐ๋ฐ ์ค๋ ๊ฐ์์์๋ ์ค์ ๋ก ์ด๋ค ๊ธฐ๋ฅ์ ๊ตฌํํ๋(?)๊ฒ๋ค์ ์์ํ๋๋ฐ ์๊ฐ ๋จธ๋ฆฌ์์ด ํ์๊ฒ ์ง๋ ธ์๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฌ๋ค ๊ณง ๋ด๊ฐ ๋ฌด์์ด ๋ถ์กฑํ์ง๋ฅผ ๊นจ๋ฌ์ ์ ์์๋ค. DOM๊ฐ์ฒด๋ฅผ ํ ๋ฒ๋ ์กฐ์ํด ๋ณธ์ ์ด ์๊ณ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ์กฐ์ํด ๋ณธ์ ์ด ์์๋ค. ๊ทธ์ ๋๋ถ์ด setTimeout, setInterver๊ณผ ๊ฐ์ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ์น API๋ ์ ๋๋ก ๊ฐ๋ ..