๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ๋ฐํ๋ค๋ณด๋ฉด, ์ปดํฌ๋ํธ๋ฅผ ์ด๋ป๊ฒ ๋ถ๋ฆฌํด์ผํ ๊ฒ์ธ๊ฐ๋ฅผ ๋ง์ด ๊ณ ๋ฏผํ๋ค.๋, ๋ถ๋ฆฌํ์ฌ ์ด๋ ํ ํจํด์ ์ด์ฉํ์ฌ ์์ฑํ ์ง๋ ๊ณ ๋ฏผํ๋ค. ์ฐ์ ์ปดํฌ๋ํธ๋ฅผ ๋ถ๋ฆฌํ๋ ๊ธฐ์ค์ ๋ํด ์์๋ณด์. ๐ฆด ์ปดํฌ๋ํธ ๋ถ๋ฆฌ1. โป๏ธ ์ฌ์ฌ์ฉ์ฑ (Resualbility)๐๐ป ๋์ผํ UI๋ ๊ธฐ๋ฅ์ ์ฌ๋ฌ ๊ณณ์์ ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ์ด ์๋ ๊ฒฝ์ฐ ์ปดํฌ๋ํธ๋ฅผ ๋ถ๋ฆฌํ๋ค.๐๐ป ex. Button, Modal, Card, Input ์ฝ๋ ์ข ๋ ์ดํดํ๊ธฐ >> ์ ํธํจ์ cn(tailwind-merge) tailwind-mergeMerge Tailwind CSS classes without style conflicts. Latest version: 3.1.0, last published: 3 days ago. Start using ta..
์ฐธ๊ณ ์ฌ์ดํธ• Transtack Query ๊ณต์ ๋ฌธ์ TanStack Start Overview | TanStack Start React DocsTanStack Start is a full-stack React framework powered by TanStack Router. It provides a full-document SSR, streaming, server functions, bundling, and more using tools like and . It is ready to deploy...tanstack.com• HEROPY.DEV ๋์ ๋ธ๋ก๊ทธ TanStack Query(React Query) ํต์ฌ ์ ๋ฆฌTanStack Query๋ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ, ๋ฐ์ดํฐ ์บ์ฑ, ์บ์ ์ ์ด ๋ฑ ๋ฐ์ด..
์๋จ ๋ด์ฉ ์์ฑ ์์ ( 2025-01-31 ~ ) 2025. 02. 02 ์ถ๊ฐโ useControllableState() ๊ณต๋ถโ ReactNode, ReactChild, ReactElement ๊ณต๋ถ ํ, ์ฌ์์ฑ ๋ ์์ (์๋ง ์ฝ๋ ๋ํ ๋ณ๊ฒฝ๋ ์์ ) ํฉ์ฑ ์ปดํฌ๋ํธ์๋ ๋ค์๊ณผ ๊ฐ๋ค 1. Header, Body, Footer๋ฅผ ๋ชจ๋ ํธ์ถํ ๊ฒฝ์ฐ2. Body์ Footer๋ง ํธ์ถํ ๊ฒฝ์ฐ3. Body๋ง ํธ์ถํ๊ณ Body์ ์คํ์ผ๋ง์ ๋ฎ์ด์์ด ๊ฒฝ์ฐ์ฌ์ฉ์๊ฐ ํ์ํ ์ปดํฌ๋ํธ๋ง์ ํธ์ถํจ์ ๋ฐ๋ผ ๋ค์ํ ๋ชจ์์ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค ์ ์๋ค.๋ํ ๊ฐ ์ปดํฌ๋ํธ์ className(tailwindCSS), style์ props๋ก ๋๊ฒจ์ฃผ์ด ๋์์ธ์ ์์ ํ ์ ์๋ค. ๐ App.tsx (ํ์ํ ๊ฒฝ์ฐ ํผ์ณ์ ๋ณด๊ธฐ)๋๋ณด๊ธฐim..
์ฐธ๊ณ ์ฌ์ดํธ• ์นด์นด์ค - FE ๊ธฐ์ ๋ธ๋ก๊ทธ / ์ปดํฌ๋ํธ ์ถ์ํ• velog - jinoo.io / ์ปดํฌ๋ํธ๋ฅผ ๋ ๊ณ ์ฒ๋ผ ์์๋ณด์! *์ถ์ํ: ์ฌ๋ฌ ๊ฐ์ง ์ฌ๋ฌผ์ด๋ ๊ฐ๋
์์ ๊ณตํต๋๋ ํน์ฑ์ด๋ ์์ฑ ๋ฐ์๋ฅผ ์ถ์ถํ์ฌ ํ์
ํ๋ ์์ฉ ๐ ์ปดํฌ๋ํธ์ ์ถ์ํํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ปดํฌ๋ํธ ๊ธฐ๋ฐ์ ํ๋ ์์ํฌ(ํน์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ)๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํ๊ฒ ๋๋ค.์ปดํฌ๋ํธ ๋จ์์ ๊ฐ๋ฐ๋ก ์ฅ์ ์ ๋ฌด์์ผ๊น? ๐๐ป ์ฅ์ 1. ์ฌ์ฌ์ฉ์ฑ: ์ปดํฌ๋ํธ๋ ๋
๋ฆฝ์ ์ด๊ณ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋ ๋ธ๋ก์ผ๋ก, ์ฌ๋ฌ ๊ณณ์์ ๋์ผํ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.์ด๋ ์ฝ๋์ ์ค๋ณต์ ์ค์ด๊ณ ์ ์ง๋ณด์๋ฅผ ์ฉ์ดํ๊ฒ ํ๋ค.2. ์ ์ง๋ณด์ ์ฉ์ด์ฑ: ์ปดํฌ๋ํธ๋ ๋
๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌ๋๊ธฐ ๋๋ฌธ์ ํน์ ๊ธฐ๋ฅ์ด๋ UI ์์๋ฅผ ์์ ํ ๋ ํด๋น ์ปดํฌ๋ํธ๋ง ์
๋ฐ์ดํธํ๋ฉด ๋๋ค.์ด๋ ์ฝ๋์ ๊ฐ๋
์ฑ์ ..
์ฐธ๊ณ ์ฌ์ดํธ* ์นด์นด์ค FE ๊ธฐ์ ๋ธ๋ก๊ทธ ์ํ ๋ฏน ๋์์ธ์ ํ์ฉํ ๋์์ธ ์์คํ
๋์
๊ธฐ | ์นด์นด์ค์ํฐํ
์ธ๋จผํธ FE ๊ธฐ์ ๋ธ๋ก๊ทธ์ ํธ์ผ(harry) ์นด์นด์คํ์ด์ง์์ ์น ํ๋ก ํธ์๋๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. ์ง๋ณด๋ค ๋ฐ์ ๋์๋ค๋๋ ๊ฑธ ์ข์ํฉ๋๋ค.fe-developers.kakaoent.comํด๋น ํ์ด์ง์ ๋ด์ฉ์ ๋ด๊ณ ์์ผ๋ฉฐ, ๋จธ๋ฆฟ์์ ๋ด๊ธฐ ์ํด ์ ์ด๊ฐ๋ฉด์ ๊ณต๋ถ (๋์ .. ๋์ ..) ๐งฉ ์ปดํฌ๋ํธ์ ํํธํ๋น์ทํ ๋ชจ์ ๋ฐ ๊ธฐ๋ฅ์ ์ปดํฌ๋ํธ๊ฐ ์ฌ๋ฌ ๊ฐ ์๋ค๊ณ ์๊ฐํด๋ณด์.์ด๊ฑธ ๊ฐ๊ธฐ ํ๋ ํ๋ ๋ค ๋ง๋ค์ด๋ด๋ ๊ฒ์ ๋ํด์๋ ๊ตฌํํ๋ฉด ์ปดํฌ๋ํธ ํํธํ๋ผ๋ ์ ๊ฐ๊ฐ์ ์ปดํฌ๋ํธ๊ฐ ๋ฐ์ํ๋ค.๊ทธ๋ผ ์ ์ง๋ณด์ ํ ๋, ๊ฐ๊ฐ์ ํํธํ๋ ์ปดํฌ๋ํธ๋ฅผ ์ฐพ์์ ๊ณ ์ณ์ผํ๋ ๋ฌธ์ ์ ์ด ๋ฐ์ํ๋ค. โ ์ ์ฐ๋๊ฑด๋ฐ?๋์์ธ ์์คํ
๋ด์์ ์ ๋ง์ ์์ ์์
๋ค์ด ์ผ์ด๋..
์ฐธ๊ณ ์ฌ์ดํธ • ๋ฆฌ์กํธ ๊ณต์ ๋ฌธ์ - Custom Hook โ๏ธ Custom Hook ์์ ๊ฒ์๊ธ์์ ๋ค์ํ Hook์ ์ฌ์ฉํด์๋ค. React์๋ useState, useContext, useEffect์ ๊ฐ์ ์ฌ๋ฌ ๋ด์ฅ Hook์ด ํจ๊ป ์ ๊ณต๋๋ค. ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋, ์ฌ์ฉ์๊ฐ ์จ๋ผ์ธ ์ํ์ธ์ง ์ถ์ ํ๊ฑฐ๋ ์ฑํ
๋ฐฉ์ ์ฐ๊ฒฐํ๋ ๋ฑ ์ข ๋ ๊ตฌ์ฒด์ ์ธ ๋ชฉ์ ์ ์ํด Hook์ด ์์์ผ๋ฉด ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. React์์ ์ด๋ฌํ Hook์ ๋ชจ๋ ์ง์ํ ์ ์๋ค. ๊ทธ๋์ ์ดํ๋ฆฌ์ผ์ด์
์๊ตฌ์ฌํญ์ ๋ง๊ฒ ์ง์ ์์ ๋ง์ Hook์ ๋ง๋ค ์ ์๋ค. ๐ง ์ ์ฌ์ฉํ ๊น? ์ฌ์ฌ์ฉ์ฑ์ด ๋์ ์ฝ๋๊ฐ ๊ฐ๊ฒฐํด์ง๋ค. ๋ด์ฅ Hook์ ์ฌ์ฉํ ์ ์๋ค. ๋
๋ฆฝ์ ์ผ๋ก ๋์ํ๋ค. ๐ก ๊ตฌ์ฑ์์ ๊ฐ ๋
ผ๋ฆฌ ๊ณต์ ๋คํธ์ํฌ์ ํฌ๊ฒ ์์กดํ๋ ์ฑ์ด ์๋ค๊ณ ์์ํด๋ณด์. ..
์ฐธ๊ณ ์ฌ์ดํธ • ๋ฆฌ์กํธ ๊ณต์ ๋ฌธ์ - useContext ๐ useContext useContext๋ ์ปดํฌ๋ํธ์ Context๋ฅผ ์ฝ๊ณ ๊ตฌ๋
ํ๊ฒ ํด์ฃผ๋ ๋ฆฌ์กํธ Hook์ด๋ค. ๋ฆฌ์กํธ์์ ๋ฐ์ดํฐ๊ฐ์ ํ์ ์ปดํฌ๋ํธ๋ก ์ ๋ฌํ๊ธฐ ์ํด ์ปดํฌ๋ํธ ํธ์ถ ์, ๋ฐ์ดํฐ prop์ ๋ด๊ณ , ํด๋น props๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ค. useContext๋ ํด๋น ๊ณผ์ ์ ์๊ด์์ด useContext๋ก ๊ฐ์ผ ์ปดํฌ๋ํธ๋ค์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ ๊ทผํ ์ ์๋๋ก ๋์์ค๋ค. ๋น์ทํ ๊ธฐ๋ฅ์ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋ recoil์ด ์๋ค. ๐ฆ Parameter useContext ์ปจํ
์คํธ๋ฅผ ์ฝ๊ณ ๊ตฌ๋
ํ๋ ค๋ฉด ์ปดํฌ๋ํธ ์ต์์์์ ํธ์ถํด์ผํ๋ค. const value = useContext(SomeContext); • SomeContext: ํด๋น ์ปจํ
์คํธ๋ cr..
์ฐธ๊ณ ์ฌ์ดํธ • ๋ฆฌ์กํธ ๊ณต์ ๋ฌธ์ - useCallback • ๋ณ์ฝ๋ฉ๋์ youtube - useCallback ๊ฐ์ ๐ชฃ useCallback useCallback์ ์ฌ๋ ๋๋ง ์ฌ์ด์ ํจ์ ์ ์๋ฅผ ์บ์ํ ์ ์๋ React Hook์ด๋ค. ๐ข ์ฐธ์กฐ useCallback ์ฌ๋ ๋๋ง ์ฌ์ด์ ํจ์ ์ ์๋ฅผ ์บ์ํ๋ ค๋ฉด ๊ตฌ์ฑ ์์์ ์ต์์ ์์ค์์ ํธ์ถํ๋ฉด ๋๋ค. const cachedFn = useCallback(fn, [dependencies]); ๐ฆ Parameters • fn: ์บ์ํ๋ ค๋ ํจ์์ด๋ค. ๋ชจ๋ ์ธ์๋ฅผ ์ทจํ๊ณ ๋ชจ๋ ๊ฐ์ ๋ฐํํ ์ ์๋ค. React๋ ์ด๊ธฐ ๋ ๋๋ง ์ค์ ํจ์๋ฅผ ๋ค์ ๋ฐํํ๋ค(ํธ์ถX). ๋ค์ ๋ ๋๋ง์์ dependencies๊ฐ ๋ณ๊ฒฝ๋์ง ์์ ๊ฒฝ์ฐ ๋์ผํ ๊ธฐ๋ฅ์ ๋ค์ ์ ๊ณตํ๋ฉฐ, ๊ทธ๋ ์ง ์๋ค๋ฉด ..