๋ฆฌ์•กํŠธ

๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋‹ค๋ณด๋ฉด, ์ปดํฌ๋„ŒํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ถ„๋ฆฌํ•ด์•ผํ•  ๊ฒƒ์ธ๊ฐ€๋ฅผ ๋งŽ์ด ๊ณ ๋ฏผํ•œ๋‹ค.๋˜, ๋ถ„๋ฆฌํ•˜์—ฌ ์–ด๋– ํ•œ ํŒจํ„ด์„ ์ด์šฉํ•˜์—ฌ ์ž‘์„ฑํ• ์ง€๋„ ๊ณ ๋ฏผํ•œ๋‹ค. ์šฐ์„  ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ธฐ์ค€์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ๐Ÿฆด ์ปดํฌ๋„ŒํŠธ ๋ถ„๋ฆฌ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..
• kyounghwan๋‹˜์˜ GitHub.io Guide | ๊ธฐ์–ต๋ณด๋‹ค ๊ธฐ๋ก์„Guide ๋ณธ ์นดํ…Œ๊ณ ๋ฆฌ๋Š” vue.js ์— TypeScript(TS)๋ฅผ ์ ์šฉํ•˜์ž๋Š” ์ƒ๊ฐ์œผ๋กœ TS๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ๊ธฐ๋กํ•œ ๋‚ด์šฉ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ „ ์ค€๋น„ vue create๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  vue.js ์ฝ”๋“œ ์œ„์— tskyounghwan01.github.io  โš ๏ธ any ํƒ€์ž…์€ ์–ด๋– ํ•œ ๊ฐ’๋“ค์ด๋“  ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์„ ์–ธ๋˜๋Š”๋ฐ, any๋ฅผ ์ค‘๊ตฌ๋‚œ๋ฐฉ์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, VanillaJS์™€ ๋‹ค๋ฅธ ์ ์ด ์—†์œผ๋ฏ€๋กœ any ํƒ€์ž…์˜ ์„ ์–ธ์€ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๊ธธ๋“ค์ด์ž. ์ž‘์„ฑ์ž๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ type์„ ์œ„์ฃผ๋กœ ์“ด๋‹ค.๊ทธ ์ด์œ ๋Š”,interface ์ •์˜ ํ›„ ๋งˆ์šฐ์Šค๋ฅผ ํ˜ธ๋ฒ„ํ•˜์—ฌ ํ™•์ธํ•˜๋ ค๊ณ  ํ•˜๋ฉด ํƒ€์ž… ์ข…๋ฅ˜๋ฅผ ๋ฐ”๋กœ ํ™•์ธ ํ•  ์ˆ˜ ์—†๋Š” ๋ฐ˜๋ฉด,  t..
github.com/radix-ui/react-useControllableState ์†Œ์Šค์ฝ”๋“œ primitives/packages/react/use-controllable-state/src/useControllableState.tsx at main · radix-ui/primitivesRadix Primitives is an open-source UI component library for building high-quality, accessible design systems and web apps. Maintained by @workos. - radix-ui/primitivesgithub.com  ๐Ÿ•น๏ธ useControllableState() ๋ž€?Radix ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ œ๊ณตํ•˜๋Š” React ํ›…์œผ๋กœ, ์ œ..
์ƒ๋‹จ ๋‚ด์šฉ ์ž‘์„ฑ ์˜ˆ์ •  ( 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 ์š”์†Œ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๋งŒ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ๋œ๋‹ค.์ด๋Š” ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ..
๐ŸŽ† useEffectuseEffect()๋Š” ํŽ˜์ด์ง€์˜ ๋งˆ์šดํŠธ, ์–ธ๋งˆ์šดํŠธ, ์—…๋ฐ์ดํŠธ ์‹œ ์ž‘์—…์„ ์„ค์ •ํ•œ๋‹ค.์šฉ์–ด์„ค๋ช…Mount์ปดํฌ๋„ŒํŠธ๊ฐ€ ํŽ˜์ด์ง€์— ๋‚˜ํƒ€๋‚จunMount์ปดํฌ๋„ŒํŠธ๊ฐ€ ํŽ˜์ด์ง€์—์„œ ์‚ฌ๋ผ์ง ์—…๋ฐ์ดํŠธ๋Š” useEffect() ํŠน์ •๊ฐ’์— ์˜์กดํ•˜์—ฌ ํ•ด๋‹น ๊ฐ’์ด ๋ณ€๊ฒฝ, ์‹คํ–‰๋˜๋ฉด ํ•ด๋‹น useEffect()๋ฅผ ์žฌ์‹คํ–‰ํ•œ๋‹ค. useEffect()์˜ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.useEffect(()=> { // ๋งˆ์šดํŠธ ์™„๋ฃŒ ํ›„ ์‹คํ–‰ํ•  ์ฝ”๋“œ return () => { // ์–ธ๋งˆ์šดํŠธ ์™„๋ฃŒ ํ›„ ์‹คํ–‰ํ•  ์ฝ”๋“œ }}, [dependencies]) dependencies์˜ ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋ฉด ์–ธ๋งˆ์šดํŠธ๊ฐ€ ์ผ์–ด๋‚˜๋ฉด์„œ return()์„ ํ†ตํ•ด ๊ธฐ์กด ์ž‘์—…์€ ํ•ด์ œํ•˜๊ณ  ๋‹ค์‹œ ๋งˆ์šดํŠธ ์‹œํ‚จ๋‹ค.   ๐Ÿ’ป Code๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค..
๐ŸŒ ๋ฆฌ์•กํŠธ ๋ฉ”ํƒ€์—์„œ ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ ์†Œ์Šค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ํŽ˜์ด์ง€ ์ „ํ™˜ ๋ฐ ์‚ฌ์šฉ์ž UI ๋ถ€๋ถ„์—์„œ ์ƒ๋‹นํžˆ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋˜๋Š” html์„ ํ•จ์ˆ˜, array, object์— ๋ณด๊ด€ํ•˜์—ฌ ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜์—ฌ ํฐ ํ”„๋กœ์ ํŠธ์ผ์ˆ˜๋ก html ๊ด€๋ฆฌ๊ฐ€ ํŽธํ•ด์ง„๋‹ค. https://ko.legacy.reactjs.org/ React – ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ A JavaScript library for building user interfaces ko.legacy.reactjs.org โฌ‡๏ธ Install ๋ฆฌ์•กํŠธ ๊ฐœ๋ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ nodejs๋ฅผ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค. ์„ค์น˜๊ฐ€ ๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ(CMD)๋ฅผ ์—ด์–ด์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค. ..
ma.caron_g
'๋ฆฌ์•กํŠธ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก