๋ฐ์ดํฐ ์๋ณธ์ ๊ทธ๋๋ก ์์ ํ๋ค๋ฉด ์๋์น ์์ ์ฌ์ด๋ ์ดํํธ๋ฅผ ๋ฐฉ์งํ๊ธฐ์ํด์ ๋ฐ์ดํฐ์ ์๋ณธ์ ๋ฐ๋ก ์์ ํ๊ฒ์ ์ง์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ณต์ฌ๋ฅผ ํ์ฌ ์นดํผ๋ณธ์ ๋ง๋ค์ด์ ์ฌ์ฉํ๋ ์ต๊ด์ ๊ฐ์ง๋๊ฒ์ด ์ข์ต๋๋ค.๊ตฌ์กฐ ๋ถํด ํ ๋น์ ์ฌ์ฉํ๊ฑฐ๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ง์ํ๋ ๋ฉ์๋ ์ค์ de
JavaScript - filter(Boolean) ์ ์ด์ฉํ Array filter
Component UI ์ง๊ธ๊น์ง ์ฌ์ฉํด๋ณธ React UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ ๊ฐ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ๋ํ์ ์ธ Component UI ๋ฐฉ์์ ๋๋ค. Antd MATERIAL-UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด๋ณธ ์ฅ์ ์ผ๋ก๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก style์ด ์ง์ ๋์ด์๊ณ styled-componen
React์์ ์ ๊ณตํ๋ Portal์ UI๋ฅผ ์ด๋์์ ๋ ๋๋ง ์ํฌ์ง DOM์ ์ฌ์ ์ ์ ํํ์ฌ ๋ถ๋ชจ์ปดํฌ๋ํธ ๋ฐ๊นฅ์์ ๋ ๋๋ง ํ ์ ์๋๋ก ํด์ค๋๋ค.child (์ฒซ๋ฒ์งธ์ธ์) : ReactChildrencontainer (๋๋ฒ์งธ์ธ์) : DOM ์๋ฆฌ๋จผํธreactํ๋ก์ ํธ์ h
IntersectionObserver > ## Intersection Observer์ ์ฌ์ฉ๋ฒ root : ๋ฃจํธ๋ ๋ง ๊ทธ๋๋ก API๊ฐ ๊ต์ฐจ(intersect)๋๋ ์ฌ๋ถ๋ฅผ ํ์ธํ ๋์ ๊ธฐ์ค์ด ๋๋ ์์๋ก ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๋ทฐํฌํธ๋ก ์ค์ ๋๋๋ฐ ์ฌ๊ธฐ์ ๊ต์ฅํ ์ฃผ์ํ ์ ์ด ์ฌ์ฉ์
lsif -i :๋ฒํธ ex: lsof -i :3000kill PID๋ฒํธ
function shuffle(array) { array.sort(() => Math.random() - 0.5);}const numbers = 1, 2, 3;shuffle(numbers);
๋ฏธ๋์ด์ฟผ๋ฆฌ ๋ฏธ๋์ด์ฟผ๋ฆฌ ์ฌ์ฉ๋ฐฉ๋ฒ -> customStyled component ๋ด์์ ํธ์ถ ex) ${mediaQueries(FROMTABLETTO_PHONE)} { ${(props) => (props.theme.width )}; }
ํ์ด์ง์์ getServerSideProps ํจ์๋ฅผ ๋ด๋ณด๋ด๋ฉด ๋ฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด ํ์ด์ง๊ฐ ์์ฒญ ๋ฐ์๋ ๋ง๋ค ํธ์ถ๋์ด pre-renderingํฉ๋๋ค.๊ธฐ๋ณธ์ ์ผ๋ก next๋ ๋ชจ๋ ํ์ด์ง๋ฅผ pre-renderํฉ๋๋ค. ๊ฐ ํ์ด์ง์ ๋ํด ๋ฏธ๋ฆฌ HTML์ ์์ฑํฉ๋๋ค. ๋ ๋์
ํด๋ผ์ด์ธํธ ์ธก ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ๋ ํ์ด์ง์ SEO ์ธ๋ฑ์ฑ์ด ํ์ํ์ง ์๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๋ ๋๋งํ ํ์๊ฐ ์๊ฑฐ๋ ํ์ด์ง ์ฝํ ์ธ ๋ฅผ ์์ฃผ ์ ๋ฐ์ดํธํด์ผ ํ ๋ ์ ์ฉํฉ๋๋ค. ํ์ด์ง์์ ์ํํ๋ฉด ๋ฐํ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ํ์ด์ง ๋ด์ฉ์ด ์ ๋ฐ์ดํธ๋ฉ๋๋ค.์ปดํฌ๋ํธ์์
Next - ๊ณต์ ํํ์ด์ง getStaticProps https://nextjs.org/docs/basic-features/data-fetching/get-static-props https://nextjs.org/docs/api-reference/data-fetchi
ํฑํํ ๋ง๋ค๊ธฐ > React ๊ณต์๋ฌธ์ ์์ต์์ ๋์์๋ ํฑํํ ๋ฅผ ํ์ ์คํฌ๋ฆฝํธ์ ํจ์ํ ์ปดํฌ๋ํธ๋ก ์์ ํ์ต๋๋ค. > > buildTool: React-Create-App style: styled-component type-check: TypeScript github :
์คํฌ๋กค ํผ์ผํธ ๊ตฌํ๊ธฐ > ์ด์ ๊ธ์๋ ์์์ ์ ๋์์น๋ฅผ ๊ตฌํ๋ ๊ธ์ ์ ์์ต๋๋ค. ์ด๋ฒ์๋ ํ์ฌ ๋ด๊ฐ ์ผ๋ง๋ ์คํฌ๋กค์ ํ๋์ง ํผ์ผํธ๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค! > ( ์คํฌ๋กค ๋ ๋์ด+ ๋ณด๊ณ ์๋ํ๋ฉด(viewport)๋์ด ) / ์ ์ฒด๋ฌธ์๋์ด * 100 ํ์ฉํ๊ธฐ Element
์น ํ์ด์ง๋ฅผ ๋ง๋ค๋ค ๋ณด๋ฉด ํด๋น ์์์ ์ ๋์์น๋ฅผ ์ฐพ์์ผ ํ ๋ ์์ต๋๋ค,์ ๋์์น๋ฅผ ์ด์ฉํด ์คํ์ผ์ ๊พธ๋ฏธ๊ฑฐ๋ ๋ก์ง์ ๋ง๋ค๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.ํด๋น ์์๊ฐ ์น ํ์ด์ง๋ฅผ ๊ธฐ์ค์ผ๋กํ ์์น์ ๋๋ค.์คํฌ๋กค๋ ์ปจํ ์ธ ์ ๊ธธ์ด + Viewport ์๋์ขํ๋ฅผ ๊ตฌํ๋ฉด ์์์ ์ ๋์์น๋ฅผ
Styled-component + TypeScript >์ ๋ React, TypeScript ,Styled-componet ์ด ์ธ๊ฐ์ง ์กฐํฉ์ ๋ง์ด ์ฌ์ฉํ๊ณ ์์ต๋๋ค. Styled-component๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ ์์ ์ธ ํด๋์ค๋ฅผ ๋ง๋ค์ด ์คํ์ผ ์ถฉ๋์ ๋ฐฉ์ง SASS์
์ด๋ฒคํธ ๋ฃจํ๋ ๋ธ๋ผ์ฐ์ ๋ด์ ๋ด์ฅ๋ ๊ธฐ๋ฅ์ ๋๋ค. Call Stack ๋ด์์ ํ์ฌ ์คํ์ค์ธ task๊ฐ ์๋์ง ๊ทธ๋ฆฌ๊ณ Event Queue์ task๊ฐ ์๋์ง ๋ฐ๋ณตํ์ฌ ํ์ธํฉ๋๋ค.๋ง์ฝ Call Stack์ด ๋น์ด์๋ค๋ฉด Event Queue ๋ด์ task๊ฐ Call Stack์ผ
๋ ์์ปฌ์ค์ฝํ > ์ค์ฝํ๋? ์๋ณ์๊ฐ ์ ํจํ ๋ฒ์์ ๋๋ค. ์ค์ฝํ๋ฅผ ๊ตฌ๋ถํด๋ณด๋ฉด ๋๊ฐ์ง๊ฐ ์์ต๋๋ค. ์ ์ญ ์ค์ฝํ : ์ฝ๋ ์ด๋์์๋ ์ฐธ์กฐํ ์ ์๋ ๋ฒ์ ์ง์ญ ์ค์ฝํ : ํจ์ ์ฝ๋ ๋ธ๋ก์ด ๋ง๋ ์ค์ฝํ๋ก ํจ์ ์์ ๊ณผ ํ์ ํจ์์์๋ง ์ฐธ์กฐํ ์ ์์ต๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์ ์์
HTML, CSS, JavaScript๋ก ์์ฑ๋ ๋ฌธ์๋ฅผ ํ์ฑํ์ฌ ๋ธ๋ผ์ฐ์ ์ ์๊ฐ์ ์ผ๋ก ์ถ๋ ฅ๋๋ ๊ฒ์ ๋งํฉ๋๋ค.ํ์ฑ : ์ด๋ค ํ์ด์ง์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ํน์ ํจํด์ด๋ ์์๋ก ์ถ์ถํด ๊ฐ๊ณตํ๋ ๊ฒ๋ ๋๋ง ๊ณผ์ ์ ์์๋ฅผ ์์ฝํ๋ฉด1\. ์๋ฒ์ ์์ฒญ ๋ฐ ์๋ต(HTTP)2\. ๋ธ๋ผ์ฐ