Daily/Today I Learned
210218_TIL
joooing
2021. 2. 19. 12:43
๋ฐ์ํ
๐ ์ค๋ ํ ์ผ
โ๏ธ ํฌ๋๋ฆฌ์คํธ App ๋ง๋ค์ด๋ณด๊ธฐ
Hooks๋ฅผ ์ด์ฉํด์ ํ ์ผ์ ์ฒดํฌํ๋ todo list ์ฑ์ ๊ฐ๋จํ๊ฒ ๋ง๋ค์ด๋ดค๋ค. useState, useCallback, useRef๋ฅผ ์ฌ์ฉํด๋ดค๋๋ฐ ์ญ์ ๊ฐ๋ ๋ง ๋ดค์ ๋๋ ๋ฌด์จ์๋ฆฐ๊ฐ ์ถ๋๊ฒ ์ง์ ๋ง๋ค์ด๋ณด๋๊น ์กฐ๊ธ์ฉ ์ ๊ฒ ๊ฐ์๋ค. ํนํ useCallback์ ๊ทธ๋ฅ ๋ชจ๋ ํจ์์ ์ต๊ด์ ์ผ๋ก ์จ์ผํ ๊ฒ ๊ฐ๋ค. + input๊ณผ button์ ์ด๋ฒคํธ๋ฅผ ํ๋ฒ์ ๊ด๋ฆฌํ๊ธฐ ์ํด formํ๊ทธ๋ ์จ๋ดค๋๋ฐ onSubmit์ ์ด๋ฒคํธํธ๋ค๋ฌ ํจ์๋ฅผ ์์ฑํ๋ฉด ๋ผ์ ํธํ ๊ฒ ๊ฐ๋ค.
โ๏ธ SCSS
CSS์ ๋น์ทํ๊ฒ ์๊ธด SCSS๋ฅผ ์ฌ์ฉํด๋ดค๋ค. ํด๋์ค ์์๋ค๊ฐ ์ค๊ดํธ๋ฅผ ์ฐ์ํด์? ์ฐ๋ ์์ผ๋ก ์ฌ์ฉํ๋๋ฐ ์ผ๋ ฌ๋ก ๋์ดํด์ ์ฐ๋ CSS๋ณด๋ค ํ์คํ ์ปดํฌ๋ํธ๋ ์์๋ค๊ฐ์ ๊ด๊ณ๋ ์ํ์ ๋ฐ๋ฅธ ์คํ์ผ์ ํ์ ํ๊ธฐ๊ฐ ํจ์ฌ ์ข์๋ค.
โ๏ธ react & express ๋ณต์ต
์ง๊ธ๊น์ง ๋ฐฐ์ ๋ ๋ฆฌ์กํธ์ express๋ก ์๋ฒ ๋ง๋๋ ๊ฑธ ๋ค์ํ๋ฒ ํด๋ณด๋ฉฐ ๋ณต์ตํ๋ ์๊ฐ์ ๊ฐ์ก๋ค. ๋จผ์ ๊ณต์ ๊ฐ์ด๋๋ถํฐ ์ญ ํ๋ฒ์ฉ ๋ค์ ํ์ด๋ณด๊ณ ๊ฐ๋จํ ์ฑ์ ๋ง๋ค์ด๋ดค๋๋ฐ, ์ฌ๋ฌ๋ฒ ๋ง๋ค์ด๋ณด๋๊น ํ์คํ ์ด์ ๋ฐ์ดํฐ ํ๋ฆ์ด ๋จธ๋ฆฌ์์ ๊ทธ๋ ค์ง๊ธฐ๋ ํ๊ณ ์ ๋ณด๋ค ํจ์ฌ ์ต์ํด์ง ๋๋์ด ๋ค์๋ค. ํด๋ผ์ด์ธํธ ๋ถ๋ถ์ ๋ฆฌ์กํธ๋ก ๋ง๋ค์ด๋๊ณ , express๋ฅผ ์ด์ฉํด์ local์ ์๋ jsonํ์ผ์ ์๋ฒ์ ์ฐ๊ฒฐ์ํค๋ ์์ ๋ ํด๋ดค๋ค. ์ ๋ง ๊ฐ๋จํ ์ฝ๋์ง๋ง express๋ ์๊พธ ์์ฐ๋ค๋ณด๋ ๊น๋จน๋๊ฑฐ ๊ฐ์์ ๊ผญ ์์ฃผ์์ฃผ ์จ๋ณด๋ ๋ฐฉํฅ์ผ๋ก ํ ์ด ํ๋ก์ ํธ๋ฅผ ํด๋ด์ผ๊ฒ ๋ค..
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ src ํด๋์ components ๋๋ ํ ๋ฆฌ ๋ง๋ค๊ณ ์ปดํฌ๋ํธ๋ค ๋ค ๋ฃ๊ธฐ! (์๋ฌต์ ๊ด์ต)
โ๏ธreact-router-dom์ผ๋ก ๋ผ์ฐํ ํ๊ธฐ
๊ธฐ๋ณธ์ ์ผ๋ก Route ์ปดํฌ๋ํธ๋ก ๋ผ์ฐํธ๋ฅผ ์ค์ ํ๋๋ฐ, ๊ฒฝ๋ก๋ฅผ path๊ฐ์ผ๋ก ์ค์ ๋ง ํ๋ฉด ๋๋ค. ์๋ฅผ๋ค์ด <Route exact path="/" component={Home}/>์ด๋ฐ์์ผ๋ก! ์ด๋์ ํ๊ณ ์ถ์ ๋๋ <a href> ๋์ <Link to>๋ฅผ ์ฐ๋ฉด ๋๋ค.
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ Hooks๋ก ํด๋ก ์ฝ๋ฉํ๊ธฐ
๋ฐ์ํ