โ๏ธ ์ด๋ฒ ํ๋ก์ ํธ๋ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ์ ํ ํ ์์ค ํ์ด์ง๊ฐ ๋ณด์ฌ์ง๊ณ , ์์ค์ ๋ณด๋ค๊ฐ ๋๋ค์ ํ๋ฅ ๋ก ๊ด๊ณ ํ์ ์ฐฝ์ด ๋์ค๊ฒ ๋๋ค. ์ด ๊ด๊ณ ์ฐฝ์ ์ฌ์ฉ์๊ฐ ์ข ๋ฃํ ์ ์๊ณ , 5์ด ๋์ ๊ฐ์ ์์ฒญ์ด ๋ ํ 5์ด๊ฐ ์ง๋๋ฉด ์๋ ์ข ๋ฃ๋๋ค. ๊ด๊ณ ์ฐฝ์ด ์ข ๋ฃ ๋ ๋ 50%๋ก์ ํ๋ฅ ๋ก
โ ๊ธฐ์กด์๋ props๋ฅผ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ๋ฐ๊ณ props.๋ช ์ด๋ ๊ฒ ์์ฑํ๋ค.โ ํด๋ก ์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค.: ์ ์ฌ์ฉํ๊ณ ์ํ๋ ๋ณ์๋ช ์ ์์ฑํ๋ฉด ๋๋ค.
โ fetch๋ ๋ธ๋ผ์ฐ์ ์ ๋ด์ฅ๋ ํจ์์ด๋ค, API๋ฅผ ๋ถ๋ฌ์ค๊ณ ๊ทธ์ ๋ํ ์ ๋ณด๋ฅผ ๋ด๋ณด๋ด์ฃผ๋ ํจ์์ด๋ค.์๋ฒ์ ๋น๋๊ธฐ ์์ฒญ๋ฐฉ์๋ค์ค์ ํ๋์ธ๋ฐ, ๋ํ์ ์ธ ๋น๋๊ธฐ ์์ฒญ๋ฐฉ์์ค์ ํ๋์ธ Ajax์ ๋ฐฉ์ ์ค์ ํ๋์ด๋ค.fetch๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ method๋ฅผ ์ด์ฉํด์ ์ฌ์ฉํ๋๋ฐ,
โ ์ด๋ค ์ํ ๊ฐ์ด ๋ณ๊ฒฝ ๋์์๋ ๋์ํ๋ ํจ์๋ฅผ ์์ฑํ ์ ์๋ค.react ์ปดํฌ๋ํธ๊ฐ ๋ ๋๋ง ๋ ๋๋ง๋ค ํน์ ์์ ์ ์คํ ํ ์ ์๋๋ก ํ๋ Hook์ด๋ค.classํ ์ปดํฌ๋ํธ์์ ์ฌ์ฉํ ์ ์์๋ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋๋ฅผ ํจ์ํ ์ปดํฌ๋ํธ์์๋ ์ฌ์ฉํ ์ ์๊ฒ ๋์๋ค.๊ธฐ๋ณธ ํ
๋ธ๋ผ์ฐ์ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(Javascript, React, TypeScript)์ ๊ฐ๋ , ์๋ฆฌ๋ฅผ ๊ณต๋ถํ๊ณ ์ดํดํ๊ธฐ.๊ธฐ๊ฐ: ~ing๊ฐ๋ 1๊ฐ์ฉ ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ๊ธฐ๋ธ๋ก๊ทธ์ ์ฌ๋ฆฌ๋ฏ์ด ์์ฑํ๊ธฐ. (github๋ฅผ ๋๋ง์ ๋ ธํธ๋ผ๊ณ ์๊ฐํ๊ณ ์์ฑํ๊ธฐ)์ ๋ฆฌํ๊ฒ์ ๋ฐํ์ผ๋ก ๋ธ๋ก๊ทธ ์์ฑ
HTML์ DOM์ค ํ๋๋ก ํ๊ณผ ์ด๋ก ์ด๋ฃจ์ด์ง ํ๋ฅผ ๋ํ๋ด๋ ํ๊ทธํ์ ์์๋ก thead tbody tr td th ๋ฑ์ด ์๋ค.HTML์์์ table์ tbody๋ฅผ ์๋ตํ๊ณ ๋ฐ๋ก tr๊ณผ td๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง, โ๏ธ JSX์์๋ ๋ฐ๋์ tbody๋ฅผ ์ ์ธํด์ผ tr๊ณผ
ํ์ด์ง ์ด๋์ ์๋ฒ์ AJAX๋ก ์์ฒญํ๊ณ ์๋ฒ๋ JSON๋ง ์ ๋ฌํด์ค๋ค, ๐ SPA ๋ฐฉ์์์๋ ํ์ด์ง ์ด๋์ ๋ณ๊ฒฝ๋๋ ๋ถ๋ถ๋ง JSON์ผ๋ก ๋ฐ์์จ๋ค, ๋ธ๋ผ์ฐ์ ์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐ์ JSON์ ํ ๋๋ก DOM์ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ๋ ๋๋ง ํด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค.SPA๋ html ๋ ๋๋ง
๋ ๋ฆฝ๋ ๋จ์, 'vn ๊ฐ์ฒด'๋ค์ ๋ชจ์๐ ๊ฐ์ฒด๋?:: ๋ฉ์ธ์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ๊ฒ๐ ์ฅ์ ์ ์ฐํ๊ณ ๋ณ๊ฒฝ์ด ์ฝ๋ค.๊ฐ๋ฐ๊ณผ ๋ณด์์ ์ฉ์ดํ๋ค.ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ค.์ง๊ด์ ์ธ ์ฝ๋๋ถ์์ด ๊ฐ๋ฅํ๋ค.์๋ฃ ์ฒ๋ฆฌ๋ฅผ ํจ์์ ๊ณํ์ผ๋ก ์ทจ๊ธ, ์ํ์ ๊ฐ๋ณ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ฆฌํ๋ ํ
โ ํ๊ณผ ์ด๋ก ์ด๋ฃจ์ด์ง ํ๋ฅผ ๋ํ๋ธ๋ค.captioncolgroupcoltableโ ํ์ ์ค๋ช ๋๋ ์ ๋ชฉ์ ๋ํ๋ธ๋ค.์ ์ญ ํน์ฑ๋ง ํํจํ๋ค.๋ถ๋ชจ table ์์์ ์ฒซ ๋ฒ์งธ ์์์ด์ด์ผ ํ๋ค.caption ์์๋ฅผ ๊ฐ์ง table ์์๊ฐ ๋ง์ฝ figureํ๊ทธ ์์์ ์ ์ผํ ์์
HTML5๋ถํฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ผ๋ก, ํด๋น ๋๋ฉ์ธ๊ณผ ๊ด๋ จ๋ ํน์ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ๊ฐ ์๋๋ผ ํด๋ผ์ด์ธํธ ์น๋ธ๋ผ์ฐ์ ์ ์ ์ฅํ ์ ์๋๋ก ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ฟ ํค์ ๋น์ทํ ๊ธฐ๋ฅ, Web Storage์ ๊ฐ๋ ์ ํค /๊ฐ ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ํค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ํจํด์ด๋ค.์ฟ ํค
setTimeout => builtin ๋ฉ์๋ํด๋ฆฐ์ ํจ์ (์ต๋ช ์ ํจ์ ๋ฆฌํด) return () => {}useEffect ํจ์๊ฐ ์๋ํ ๋๋ง๋ค, ์๋ํ๊ธฐ ์ ์, ๋์๊ฐ๋ ์์ฃผ ์ฒซ ๋ฒ์งธ๋ฅผ ์ ์ธํ๊ณ ๋ ํด๋ฆฐ์ ํจ์๊ฐ ๋์๊ฐ๋ค.ํด๋ฆฐ์ ํจ์ ์๋ -> ๋์์๋ถํฐ ํน์ ํ ์ปดํฌ๋ํธ
๋ ๋ค๋ฅธ ๋นํธ์ธ ํ ์ํ ๊ด๋ฆฌ๋ฅผ ๋์์ค๋ค.useState์ ๋น์ทํ์ง๋ง, ๋ฅ๋ ฅ์ด ๋ ๋ง๊ณ ๋ ๋ณต์กํ ์ํ์ผ ๋ ์ ์ฉํ๋ค.ย ๐ย ๋ณต์กํ multiple ์ํ์ผ ๋ useState๋ฅผ ์ฌ์ฉํ๊ณ ๊ด๋ฆฌํ ๋ ์๋ฌ๋ฅผ ์ผ์ผํจ๋ค, ์ด๊ฑด ์์ข์ ์ํฉ์ด๊ฑฐ๋ ํจ์จ์ ์ด์ง ์๊ฑฐ๋ ์ ์ฌ์ ์ธ
๊ฒ์ฆ ์ถ๊ฐ ๋ฐ ๋ก์ง ์ฌ์ค์ ํ๊ธฐenteredAge์์ + ๋ฅผ ๋ถ์์ผ๋ก์ ์ซ์์ธ์ง ํ์คํ๊ฒ ํ์ธํ ์ ์๊ฒ ํด์ค๋ค. useEffect ํ ์ฌ์ฉํ๊ธฐ ์ ์ ๊ฐ ์ธ์ฆ๋ ์ํ๋ผ๋ฉด ์ด ํ์ด์ง๋ฅผ ๋ฆฌ๋ก๋ ํ๋๋ผ๋ ์ ์ง๋์ด์ผ ํ๋ค.ย ๊ทธ๋ฌ๋ ํ์ฌ ์ํ์์ ์๋ก๊ณ ์นจ ์์ ์ธ์ฆ ์ํ๊ฐ ์ฌ๋ผ
๐จย ์ค๋์ ref์ ๋ํด์ ๊ณต๋ถํ๊ธฐ,,,,=ย ref๋ ์๋นํ ๊ฐ๋ ฅํ ์์ด๋ค. ๐ย ๊ธฐ๋ณธ ์ํ์์์ ref๋ ๋ค๋ฅธ DOM์์๋ก ์์ธ์คํด์ ์์ ํ ์ ์๊ฒ ํด์ฃผ๋ ์ญํ ์ด๋ค. ์์) ์ฌ๊ธฐ ๋ณด์ด๋ ์ฝ๋๋ค ์ค์์ ์์ ๊ฐ์ด input ํ๊ทธ์์ ์ ์ ๊ฐ ์ ๋ ฅํ๋ ๋ฐ๋ฅผ ์ถ์ ํด
๐จ ์ค๋์ class์ ๋ํ์ฌ ๊ณต๋ถํด๋ณด์,,,, ์ง๊ธ๊น์ง ๋น์ทํ ํํ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ธฐ ์ํด์ ์์ฑ์ ํจ์๋ฅผ ์ฌ์ฉํ์๋๋ฐ class๋ฅผ ์ฌ์ฉํด์๋ ๋ง๋ค ์ ์๋ค. Class๋ ES6์ ์ถ๊ฐ๋ ์คํ์ ๋๋ค. ๐ย ์์ฑ์ ํจ์ : ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ํจ์๋ฅผ ์๋ฏธํ๋ค.
๐จ ์๋งจํฑ ๋งํฌ์ ์ ๋ํด์,,, Semantic : ์๋ฏธ๋ก ์ ์ธ Markup : HTMLํ๊ทธ๋ก ๋ฌธ์๋ฅผ ์์ฑํ๋ ๊ฒ๐ ์ฆ Semantic Markup ์ด๋ ์๋ฏธ๋ฅผ ์ ์ ๋ฌํ๋๋ก ๋ฌธ์๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋งํฉ๋๋ค.ํ๊ทธ๋ฅผ ๊ฐ๊ฐ์ ์ฉ๋์ ๋ง๊ฒ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ํค๋ : head
๐จ Styled-components์ ๋ํด์ ์์๋ณด์,,,,์๋ ์ค์ Css : styled-components๋ ํ์ด์ง์์ ๋ ๋๋ง๋๋ ๊ตฌ์ฑ ์์๋ฅผ ์ถ์ ํ๊ณ ์์ ํ ์๋์ผ๋ก ํด๋น ์คํ์ผ๋ง ์ฝ์ ํฉ๋๋ค. ์ฝ๋ ๋ถํ ๊ณผ ํจ๊ป ์ด๋ ์ฌ์ฉ์๊ฐ ํ์ํ ์ต์ํ์ ์ฝ๋๋ฅผ ๋ก๋ํจ์ ์
๐ฑreact-native ์์!!๐ง > React - native Homebrew ์ค์น Nodejs ์ค์น Watchman ์ค์น React Native CLI ์ค์น Xcode ์ค์น Cocoapods ์ค์น JDK ์ค์น Android studio ์ค์น Andro
๐ ํ๋ผ ํํ๋ก์ ํธ!! ์๋ผ clone coding ๊ธฐ๊ฐ : 2021.11.15 ~ 2021.11.26(์ด 12์ผ๊ฐ) ๋ ํผ๋ฐ์ค ํ์ด์ง : ์๋ผํ์ด์ง๋ฐ๋ก๊ฐ๊ธฐ ๐ ์ฑ ๊ตฌ๋ , ์ฑ ์ ๋ํ ํ์ ์ ์ค ์ ์๋ ์ฌ์ดํธ ํ๋ช : HOLLA(ํ๋ผ) ํ์๊ตฌ์ฑ : [FE]: ์ค
$ git clone (remote repository url)ํฐ๋ฏธ๋ ๋ด์์ git clone (๋ด repository ์ฃผ์)์ ํตํด remote repository์์ ์๋ ํ์ผ์ ๋ด local repository๋ก ๊ฐ์ ธ์ค๋ ๊ฒ.$ git statusgit statu