[TIL] WEEK5๐
ํ๋ก๊ทธ๋๋จธ์ค ๋ฐ๋ธ์ฝ์ค ํ๋ก ๋์๋ 21์ผ์ฐจ
go notion go notion! ๐โโ๏ธ
๋
ธ์
ํด๋ก๋์ ์์ํ๊ณ ๋ค์ ์ฃผ๋ฅผ ๋ง์ดํ๋ค. ์์ํ๊ณ ๋ผ๊ณ ์ฐ๊ณ ์์ ์ค๋น์ค... ์ด๋ผ๊ณ ์ฝ๋๋ค. ๐คฆโโ๏ธ
์ฐ์ to do app๊ณผ ์๋ ์์ฑ ํธ์ง๊ธฐ๋ฅผ ์์ฑํ๊ณ ๋ฐ๋ฆฐ TIL, ๊ณผ์ PR๋ฑ์ ๋ค ์ฐ๊ณ ์ค๋์์ผ ์ ๋๋ก ์ฑ
์์ ์์๋ค!
์๊ตฌ์ฌํญ
๊ณผ API
๋ฅผ ํ์ธํ๊ณ ๋๋ฆ์ ์ค๊ณ๋ฅผ ํ๋ค, ์ฝ๋๋ฅผ ์ง๋ ค๊ณ ํ๋๋ฐ ๋ง๋งํ๋ค. ๐ฆ
์๋ ๋ก๊ทธ + ๋ ธ๊ฐ๋ค ๋งค๋์
๋ผ ๊ทธ๋ฐ์ง ์์ง๋ ธํธ์ ํ
์ด ํธํ๋ค...(ํ์ง๋ง ํ ๋ธ๋ฆฟ์ ํฌ๊ธฐ๋ชปํดโญ)
์ฐ์ ์ค๋ ํ๋ ค๊ณ ํ๋ ์ผ์!
1๏ธโฃ ์ ์ฒด์ ์ธ ๊ตฌ์กฐ ์ง๊ธฐ
2๏ธโฃ dummy data๋ก ๋ก์ง ํ์ธํ๊ธฐ
3๏ธโฃ ์๋์์ฑ ๋ถ์ํ๊ณ + ์๋กญ๊ฒ ์ ์ฉ์์ผ๋ณด๊ธฐ
์ ์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ง๋ค ์ฐ์ ์์ ์ปดํฌ๋ํธ์์ innerHTML๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด, ํ์ ์์์์(appendChild)๋ค์ด ๋ชจ๋ ๋ฌด์๋๋ค๋ ๊ฒ์ ๋ชฐ๋ผ์, ์ ๋๋๋ง์ด ์๋๋์ง์ ๋ํด ์ค๋ ์๊ฐ ๋ฐฉํฉํ๋ค...
(https://oniondev.tistory.com/m/17)
๋, ์๋ฒ์์ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ณ์ธต์ ์ผ๋ก ๋๋๋ง ํด์ผํ๊ธฐ ๋๋ฌธ์ ๊ณ์ธต์ ์ ๋ํ๋ด๋๋ก ๊ตฌํํด์ผํ๋๋ฐ, html๋ฅผ ์จ์ผํ ์ง c ํ๋ก๊ทธ๋๋ฐ ํ ๋ ์ฐ๋ tab ๊ฐ์๋ฅผ ์กฐ์ ํด์ผํ๋์ง ํผ๋์ด ์์ ์ด๊ฒ ์ญ์ ๋ฐฉํฉํ๋ค...
์์ง ํ๋ก ํธ์๋ ๋ฒ ๋ฒ ๋ผ ๊ทธ๋ฐ์ง ์ด๋๊น์ง DUMMY_DATA๋ก ์จ์ผํ๋์ง, ์ด๋์์ ์๋ฒ๋ฅผ ๋ถ๋ฅด๊ณ state์๋ ์ด๋ค ๊ฒ์ ๊ด๋ฆฌํด์ผํ๋์ง ์ ์ ๋ฌด์ญ๋ค... ๋๋ ต๋ค...
๐ก ๊ทธ๋์ ์ฐ์ ์ค์ต ๊ฐ์๋ฅผ ์ฝ๋ ์์ฃผ ๋ง๊ณ , ๋ด์ฉ ์์ฃผ๋ก ๋ค์ ๋ฃ๊ณ -> ์๋ฒฝํ ์ดํด๋ก ๊ตฌํํด๋ณด๊ธฐ๋ก!!! ์ฝ๋๊ฐ ์ ์ ์จ๋ด๋ ค์ง๋ ๊น์ง ์๋ ~!
๋๋ง๊ฐ๋๊ฑฐ ์๋์์... ์ฝ๋ฉํ๋ฌ ๊ฐ๊บผ๋ผ๊ตฌ์ง... ๐ฆ๐ฆ๐ฆ๐ฆ๐ฆ
ํ๋ก๊ทธ๋๋จธ์ค ๋ฐ๋ธ์ฝ์ค ํ๋ก ํธ์๋ 22์ผ์ฐจ
Notion Project ๐ฅ
์ค๋์ ์ฐ์ 1) PostsPage, PostsList๋ฅผ ๋ง๋ค๊ณ , 2) Editor, EditorPage ๋ ํ ์ ์์ผ๋ฉด ๋ง๋ค์ด๋ณด์ ๐
PostsPage, PostsList ๋ง๋ค๊ธฐ
(์ฒ์๋ถํฐ App.js๋ก ๋ง๋ค์ ~!)
โ DUMMY_DATA๋ก ๋ฐ์ดํฐ ๋๋๋งโ PostsPage๋ก ์ฎ๊ธฐ๊ธฐโ api์์ ๋ถ๋ฌ์ค๊ธฐโ ๋ฒํผ ๊ตฌํโ ์ถ๊ฐ ๊ธฐ๋ฅ ๊ตฌํโ setState๋ก ๊ฐฑ์ ํ๊ธฐ
์ฝ๋๊ฐ ์ ์ง์ง๋ ๋ค๊ฐ์ด ๋ฌด์ผํธ๋ฅผ ์ธ์ณ์ ~! ๋ฌด์ผํธ~!
์ค์... ๊ฑ ๋ฏธ์ณ๋ฒ๋ ธ๋๋ฐ?
์ด๊ฑธ ๋คํ๋ค๊ณ ?๐ถ ๊ทธ์น ์ฌ์ด ๋ ๋ฆฌ๊ฐ ์์งโฆ
ํ๋ก๊ทธ๋๋จธ์ค ๋ฐ๋ธ์ฝ์ค ํ๋ก ํธ์๋ 23์ผ์ฐจ
Notion Project ๐ฅ๐ฅ
์ด์ ๊ฒจ์ฐ ๊ฒจ์ฐ api์ ๋ง์ถฐ ์๋ก์ด post๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค. ์๊ฐ๋ณด๋ค ์ถ๊ฐ๋ post์ ๋ถ๋ชจ id ์ฐพ๋๊ฒ, ๊ทธ๊ฑธ ํ์ฌ state๋ก ๋๊ฒจ์ฃผ๋๊ฒ์์ ์ค๋ ๊ฑธ๋ ธ๋ค ๐ญ (์ญ์ ๋ ๊ธฐ๋ณธ ๊ตฌํ ์ฌํญ์ ๋ค ์งํจ ํ์ ํ ์์ !)
์ค๋ ํด์ผํ๋ ์ผ
->editor ๊ธฐ๋ฅ ๊ตฌํ
editor, list ๋ฐ์ดํฐ ์ฐ๋
(history api ๋ก spa ๊ตฌํ
๋ ํ ์ ์์ผ๋ฉด!!!!!)
Editor, EditorPage ๋ง๋ค๊ธฐ
(์๊ฐํด๋ณด๋๊น ์๋์์ฑ ํธ์ง๊ธฐ์ ๋ค๋ฅด๊ฒ, ์๋ก ์ฐ๊ฒฐ ์๋์ด์๋๊ฑธ? ์ฐ๋ํ๋ ๋ถ๋ถ์ ๋ํด ์๊ฐํด๋ณด์์ผ๊ฒ ๋ค๋ฆฌ~)
โ Editor.js ์์ฑโ EditorPage.js ์์ฑโ key up ์ด๋ฒคํธ ์ถ๊ฐ- โ ์ด๋ฒคํธ ๋๋ฐ์ด์ค
โ id, content, title ์ด๋ป๊ฒ ์ฐ๊ฒฐํ ๊ฒ ์ธ์ง์ ๋ํ ๊ณ ๋ฏผโ ์๋ฒ ๋ฐ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ฐ๊ฒฐโ document ํธ๋ฆฌ์ ์๋ ๋ฆฌ์คํธ ๋๋ ์ ๋ editor์์ ๊ฐ์ ธ์ ๋ฟ๋ฆฌ๊ธฐ
(์์ 2021-09-01-18:47)
ํ๋ก๊ทธ๋๋จธ์ค ๋ฐ๋ธ์ฝ์ค ํ๋ก ํธ์๋ 24์ผ์ฐจ
Notion Project ๐ฅ๐ฅ๐ฅ
๋๋์ด ๋๋์ด
๊ธฐ๋ณธ ์๊ตฌ์ฌํญ
์ ๋ค ๋ง๋ค์๋ค!!!! ์ค๊ฐ์ ๋งค์ฐ๋งค์ฐ ๋ง์ ์ฝ์ง์ด ์์์ง๋ง, ๊ทธ๊ฒ ๋ํ ๊ฐ๋ฐ์ ์ผ๋ถ๋ผ ์๊ฐํ๋ค... ์ค๋์์์ํ ๋ฒ๊ทธ ์ก๊ธฐ
+ ํ ์ ์๋๋ณด๋์ค ์๊ตฌ์ฌํญ ๊ตฌํํ๊ธฐ
+UI ๊ฐ์ ํ๊ธฐ (css ์ ์ฉ)
์ ๋ชฉํ๋ก!
์์ํ ๋ฒ๊ทธ ์ก๊ธฐ
1๏ธโฃ ~~ํ์ด์ง ์์ ํ ๋ค๋ฅธ ํ์ด์ง๋ฅผ ์กฐํํ์ ๋ ์ด์ content๊ฐ ๊ณ ๋๋ก ๋์ด์ค๋ ํ์์ด ์์ด์!~~
- textarea์ value ๊ฐ์ผ๋ก ์์
2๏ธโฃ PostsPage, EditPage ์์น๊ฐ ์๋ค๊ฐ๋ค (์ํ๊ฐ ๋ฐ๋์ด์ ๐)
3๏ธโฃ ~~์ค์๊ฐ editing ๋๋ fetch ํ ๋ฐ์! (์์ post์ ๋ํด์)~~
- App.js์์ ์์กด์ฑ์ ๊ณ ๋ คํด ํจ์๋ฅผ ํธ์ถํ์ด์!
๋ณด๋์ค ์๊ตฌ์ฌํญ ๊ตฌํํ๊ธฐ
- โ editPage์ ์ ๋ํ ์๋์ ํด๋น post์ ์์ post๋ค์ ๋งํฌ๋ฃ๊ธฐ!
- โ textarea ๋ง๊ณ , div๋ก ๋ฐ๊ฟ์ ๋งํฌ๋ค์ด ๋ฌธ๋ฒ ์นํํด๋ณด๊ธฐ
- โ editor ๋ด์ ๋ค๋ฅธ post์ title์ด ์๋ค๋ฉด ํธ์ง ํ์ด์ง๋ก ์ด๋ํ๊ธฐ!
- โ
์ญ์ !
UI ๊ฐ์ ํ๊ธฐ
css๋ฅผ ํด์ผํ๋ค์ด๊ฑฐ์ฃ ? ์์๊ฒ ๋ง๋ค์ด๋ณด๊ณ ์ถ๋ค! ๐
ํ๋ก๊ทธ๋๋จธ์ค ๋ฐ๋ธ์ฝ์ค ํ๋ก ํธ์๋ 25์ผ์ฐจ
Notion Project ๐ฅ๐ฅ๐ฅ๐ฅ
๊ธฐ๋ณธ ๊ธฐ๋ฅ + ์ญ์ ๊ธฐ๋ฅ + ์์ ์ ๋ณด ์ค์๊ฐ ์ ๋ฐ์ดํธ + ๊นํ๋ธ ๋งํฌ๊น์ง ์์ค์ผ๋ก ๊ธฐ๋ฅ์ ์์ฑํ๋ค.
์ค๋์ ์ ์ถ์ผ์ด๊ณ ์ฌ์ ์ฅ css๋ฅผ ๋จผ์ ์์ ํ๊ณ ์ ์ถ ํ ๋๋จธ์ง ๊ธฐ๋ฅ์ ์์ฑํด๋ด์ผ๊ฒ ๋ค!
MainPage
- ๊ฐ๋จํ ์๊ฐ ํ์ด์ง
PostsPage
- ์ ๋ชฉ + ํ์ด์ง ๊ตฌ์กฐ ๋ณด์ฌ์ฃผ๊ธฐ
EditPage
- input๊ณผ textarea
๋ ๋๋ง?
- ๊ฐ์ฅ ์์ div์์ flex๋ฅผ ์ด์ฉํด (์ข) ๋ฆฌ์คํธ (์ฐ) ์๋ํฐ๊ฐ ๋์ด์ผํ๋๋ฐ, ๋ฆฌ์คํธ์ ์ํ๊ฐ ๋ณํํจ์ ๋ฐ๋ผ ๋ ๋๋ง์ ๋ค์ ํ๊ธฐ ๋๋ฌธ์ ์์๊ฐ ๋ค์ฃฝ๋ฐ์ฃฝ๋๋ค. -> ์ต์์ div์ ์์น๊ฐ ๊ณ ์ ๋ ํ์ div๋ฅผ ๋ง๋ค๊ณ ๊ทธ ์์ ํ์ํ ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋งํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํ!
๊ฒฐ๊ณผ
์ง ! ์ผ๋จ ๊ธฐ๋ณธ ์๊ตฌ์ฌํญ์ ๋ค ๋ง์กฑ์์ผฐ๊ณ CSS๊ฐ ๋๋ ค ๋ก์ง์ง๋๊ฒ๋ณด๋ค ์ด๋ ต๊ณ ๋๋ ค์ ๋๋ฐ CSS ๊ณต๋ถ ๊ฒฝํ์๋ JS๊ฐ CSS๋ฅผ ๋์์ค์ ํด๊ฒฐ!!! (CSS์ ์ด๋ ค์โฆ)
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ([TIL] WEEK5๐), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@songsong/TIL-DAY21์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค