React/2022-ไธ
Object.keys, Object.values, Object.entries, Object.assign Object.keys ๊ฐ์ฒด์ ํ๋กํผํฐ๋ค ์ค์์ key๊ฐ, ๋ค๋ฅธ ๋ง๋ก ํ๋กํผํฐ ๋ค์๋ค๋ง ๋ฌถ์ด์ ๋ฐฐ์ด๋ก ๋ฐํํ๋ ๋ฉ์๋ ๋ฌธ๋ฒ โ Object.keys ๋ฉ์๋์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ๊ทธ๋ฅ ๋ฉ์๋ ๊ทธ๋๋ก Object ๊ฐ์ฒด์ keys ๋ฉ์๋๋ฅผ ํธ์ถํ๊ณ ํ๋ผ๋ฏธํฐ๋ก Key ๊ฐ์ ์์๋ด๊ณ ์ ํ๋ ๊ฐ์ฒด๋ฅผ ์ ๋ฌํด์ฃผ๋ฉด ๋จ โ ์ฃผ์ํด์ผ๋ ์ ์ Object.keys() ๋ฉ์๋๋ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ Object๋ผ๋ ๋ด์ฅ ๊ฐ์ฒด์ ๋ฉ์๋๋ก ์ฌ์ฉํ๊ณ , ํ๋ผ๋ฏธํฐ๋ก ์ฐ๋ฆฌ๊ฐ ๋ง๋ ๊ฐ์ฒด๋ฅผ ์ง์ด๋ฃ์ด์ค์ผ ํ๊ธฐ ๋๋ฌธ์ myObject.keys()์ฒ๋ผ ์ฌ์ฉํ์ง ์๋๋ก ์ฃผ์ํด์ผ ํจ Object.values ํน์ ๊ฐ์ฒด๋ฅผ ๋์์ผ๋ก..
React/2022-ไธ
shallow routing shallow routing ๋? data fetching ๋ฉ์๋(getServerSideProps, getStaticProps, getInitialProps)๋ฅผ ๋ค์ ์ฌ์ฉํ์ง ์๊ณ URL์ ๋ณ๊ฒฝํ๋ ๋ฐฉ์ state๋ฅผ ์์ง ์์ผ๋ฉด์ pathname๊ณผ router ๊ฐ์ฒด๋ฅผ ํตํ query๋ฅผ ์
๋ฐ์ดํธ ํ ์ ์์ shallow routing์ ์ํด์๋ shallow ์ต์
์ true๋ก ๋ฐ๊ฟ ์ฃผ์ด์ผ ํจ ๋ถํ์ํ ์๋ฒ ์ฐ์ฐ์ ์ต์ํํ๊ณ ํ์ํ ์ํ ๊ฐ์ ๋ผ์ฐํฐ์ ๋ฃ์ด์ ์ ๋ฌํ๋ ๊ฒ data fetching ๋ฉ์๋ Next.js์์๋ data fetching ๋ฉ์๋๋ฅผ ์ ๊ณตํจ ์ฌ์ดํธ๋ฅผ ๋ ๋๋งํ๊ธฐ ์ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด์ ํ์ด์ง๋ฅผ ์์ฑํ ๊ฒ์ธ์ง์ ๋ํ ํจ์๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ ๋งํจ โ get..
React/2022-ไธ
useEffect useEffet() ๋? React Component๊ฐ ๋ ๋๋ง ๋ ๋๋ง๋ค ํน์ ์์
์ ์คํํ ์ ์๋๋ก ํ๋ ๋ฆฌ์กํธ Hook์ ํน์ ์์
์ Component๊ฐ ๋ ๋๋ง ๋ ์ดํ์ ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌ๋์ด์ผ ํ๋ ๋ถ์์ ์ธ ํจ๊ณผ๋ค์ ๋ปํจ ์ด๋ฌํ ๊ธฐ๋ฅ์ผ๋ก ์ธํด ํจ์ํ ์ปดํฌ๋ํธ์์๋ ํด๋์คํ ์ปดํฌ๋ํธ์์ ์ฌ์ฉํ๋ ์๋ช
์ฃผ๊ธฐ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋จ โ componentDidMount : ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค๊ณ , ์ฒซ ๋ ๋๋ง์ ๋ค ๋ง์น ํ ์คํ โ componentDidUpdate : ๋ฆฌ๋ ๋๋ง์ ์๋ฃํ ํ ์คํ. ์ฆ, render()๊ฐ ์
๋ฐ์ดํธ ๋ ๋๋ง๋ค ์คํ โ componentWillUnMount : ์ปดํฌ๋ํธ๋ฅผ DOM์์ ์ ๊ฑฐํ ๋ ์คํ ๊ธฐ๋ณธ ํํ โ function : ์คํํ๊ณ ์ ํ๋ ํจ์ โ deps ..
React/2022-ไธ
useRef useRef .current ํ๋กํผํฐ๋ก ์ ๋ฌ๋ ์ธ์๋ก ์ด๊ธฐํ๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ref ๊ฐ์ฒด๋ฅผ ๋ฐํํจ ๋ฐํ๋ ๊ฐ์ฒด๋ ์ปดํฌ๋ํธ์ ์ ์์ ์ฃผ๊ธฐ๋ฅผ ํตํด ์ ์ง๋จ ์์ ๋ณธ์ง์ ์ผ๋ก useRef๋ .current ํ๋กํผํฐ์ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๊ฐ์ ๋ด๊ณ ์๋ ์์์ ๊ฐ์ ๋ฅผ ์ฌ์ฉํ์ฌ reft ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ๋ค๋ฉด, React๋ ๋ชจ๋๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ๋ณ๊ฒฝ๋ DOM ๋
ธ๋์ ๊ทธ๊ฒ์ .current ํ๋กํผํฐ๋ฅผ ์ค์ ํจ
React/2022-ไธ
Pagination vs Infinite Scroll Pagination ๋? ๊ฐ์ง๊ณ ์๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ํ ํ๋ฉด์ ์ ๋ถ ๋ณด์ฌ์ค ์ ์๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํจ ๋ฐ์ดํฐ๋ฅผ ์ผ์ ๊ธธ์ด๋ก ๋์ด์ ์ ๋ฌํจ Pagination ์์ Infinite Scroll ํ๋ฉด์์ ํ์ด์ง ๊ธฐ๋ฒ์ ์ ์ฉํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋๊น์ง ๋ฌดํ์ ์คํฌ๋กคํ๋ ๊ธฐ๋ฒ์ ์๋ฏธํจ Pagination๊ณผ ๋ค๋ฅด๊ฒ ํ์ด์ง ๋ฒํธ๊ฐ ๋ฐ๋ก ์กด์ฌํ์ง ์๊ณ ํ์ด์ง๋ค์ด์
์์ ๋ค์ ๋ฒํธ๋ฅผ ํด๋ฆญํด์ผ ๋๋ ๋์์ ๋จ์ํ ๊ณ์ ์คํฌ๋กค๋ง ํ๋ ๊ฒ์ผ๋ก ๋์ฒดํด์ค ์ ์์ ๊ทธ๋ ๋ค๊ณ "Infinite Scroll์ด Pagination์ ์์ ํธํ์ด๋ค" ๋ผ๊ณ ๋งํ ์ ์์ ๋ ๋ฐฉ๋ฒ์ ๊ฐ๊ฐ์ ์ฅ์ ์ด ์๊ธฐ ๋๋ฌธ์ ์ด๋ค UI/UX๋ฅผ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ๊ฒ์ธ์ง์ ๋ฐ..
React/2022-ไธ
State Lifting State Lifting (State ๋์ด์ฌ๋ฆฌ๊ธฐ) React์ ๋ฐ์ดํฐ ํ๋ฆ์ ์์ ์ปดํฌ๋ํธ์์ ํ์ ์ปดํฌ๋ํธ๋ก ์ ๋ฌํ๋ ํํฅ์์ด์ ๋จ๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ์ ๋ฐ๋ฆ ๋ง์ฝ, ํ๋์ ์ํ๊ฐ ์ฌ๋ฌ ์ปดํฌ๋ํธ์ ์ํฅ์ ์ค๋ค๋ฉด, ํด๋น ์ปดํฌ๋ํธ๋ค ๊ฐ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต์ ์์ ์ปดํฌ๋ํธ์ ์ํ๋ฅผ ๋์ด์ฌ๋ฆฌ๋ฉด ๋จ ์ด๊ฒ์ State Lifting (State ๋์ด์ฌ๋ฆฌ๊ธฐ)๋ผ๊ณ ํจ ๊ณต์ ๋ ์ํ๋ฅผ ์์ ํ ์ปดํฌ๋ํธ๊ฐ ์ง๋ฆฌ์ ์์ฒ์ด ๋จ ํ์ง๋ง ์ค์ ๋ก๋ ํ์ ์ปดํฌ๋ํธ์์ ์ด๋ฒคํธ๊ฐ ์ผ์ด๋ ์์ ์ปดํฌ๋ํธ์ ์ํ๋ฅผ ๊ฐฑ์ ํ๋ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๊ณ , ์ด๋ ์ญ๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ์ฒ๋ผ ๋ณด์ผ์๋ ์์ ์ด๋ฅผ ์ํด React์์ ์ ์ํ ๋ฐฉ๋ฒ์ ์์ ์ปดํฌ๋ํธ์ ์ ์๋ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ํจ์ ์์ฒด๋ฅผ ํ์ ์ปดํฌ๋ํธ์ props๋ก ์ ๋ฌํ๊ณ , ํ์ ์ปดํฌ..
React/2022-ไธ
State useState()๋ฅผ ์ด์ฉํด์ 4์ฉ ์ค๋ฅด๋ ์นด์ดํฐ ๋ง๋ค๊ธฐ ์ ์ฝ๋๋ฅผ ์คํํ๊ณ ๋ฒํผ์ ํด๋ฆญํ์ ๋ โ ์ฒซ๋ฒ์งธ ๋ฒํผ ํด๋ฆญ ์ : โ count = 0, ํ์ฌ count = 0, ์์์ ์ฅ count = 1 โฃ ๋๋ฒ์งธ ๋ฒํผ ํด๋ฆญ ์ : โ count = 0, ํ์ฌ count = 0, ์์์ ์ฅ count = 1 โ count = 0, ํ์ฌ count = 0, ์์์ ์ฅ count = 1 โฃ ์ธ๋ฒ์งธ ๋ฒํผ ํด๋ฆญ ์ : โ count = 0, ํ์ฌ count = 0, ์์์ ์ฅ count = 1 โฃ count = 0, ํ์ฌ count = 0, ์์์ ์ฅ count = 1 โ count = 0, ํ์ฌ count = 0, ์์์ ์ฅ count = 1 โ ๋ค๋ฒ์งธ ๋ฒํผ ํด๋ฆญ ์ : โ count = 0, ํ์ฌ count ..
React/2022-ไธ
State Lifecycle ์๋ช
์ฃผ๊ธฐ React์์ ๋ชจ๋ ์ปดํฌ๋ํธ๋ ์๋์ ์ธ๊ฐ์ง ๋จ๊ณ๋ฅผ ๊ฑฐ์นจ โ ์ด๊ธฐํ ๋จ๊ณ โ ์
๋ฐ์ดํธ ๋จ๊ณ โ ์๋ฉธ ๋จ๊ณ ์์ ๊ฐ ๋จ๊ณ์์ ๋ช๊ฐ์ ๋ฉ์๋๋ค์ด ์ ํด์ง ์์๋๋ก ์๋ํ๊ณ ๊ฐ ๋จ๊ณ ์์์ ํธ์ถ๋๋ ๋ฉ์๋๋ค์ ๋ฐ๋ก ์๋ช
์ฃผ๊ธฐ ๋ฉ์๋ ๋ผ๊ณ ๋ถ๋ฆ ๋ฆฌ์กํธ๋ ์น์์ UI ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์๋์ผ๋ก ์ปดํฌ๋ํธ๊ฐ ์
๋ฐ์ดํธ๋๊ณ ๋์ ์ผ๋ก ํ๋ฉด์ ๊ทธ๋ ค์ค ์ ๋๋ก ๋ ๊ธฐ๋ฅ์ ์ํํ๋ ค๋ฉด ์ด๋ฐ ์๋์ผ๋ก ์
๋ฐ์ดํธ ๋๋ ๊ณผ์ ์ ๋ผ์ด๋ค์ด API๋ฅผ ํธ์ถํ๊ธฐ๋ ํ๊ณ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํด์ค์ผ ํ ๋๋ ์์ ๋ฐ๋ผ์, ์๋ช
์ฃผ๊ธฐ์ ๊ฐ ๋จ๊ณ๋ณ๋ก ํ์ํ ์๊ฐ์ ํ์ํ ์์
๋ค์ ๋ผ์๋ฃ์ ์ ์๋ ๋ฉ์๋๋ค์ด ์กด์ฌํจ โ ์์ ์ฌ์ง์ ๋ฆฌ์กํธ์ ๋ผ์ดํ ์ฌ์ดํด์ ๋ํ๋ธ ํ๋ฉด ์๋ช
์ฃผ๊ธฐ์ ๊ฐ ๋ฉ์๋๋ค์ ์ญํ ์ด๊ธฐํ ๋จ๊ณ โ ์ด๊ธฐํ ๋จ๊ณ์์..