๋ฆฌ์•กํŠธ

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 ์š”์†Œ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๋งŒ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ๋œ๋‹ค.์ด๋Š” ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ..
๐ŸŽ† useEffect useEffect()๋Š” ํŽ˜์ด์ง€์˜ ๋งˆ์šดํŠธ, ์–ธ๋งˆ์šดํŠธ, ์—…๋ฐ์ดํŠธ ์‹œ ์ž‘์—…์„ ์„ค์ •ํ•œ๋‹ค. ์šฉ์–ด ์„ค๋ช… Mount ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํŽ˜์ด์ง€์— ๋‚˜ํƒ€๋‚จ unMount ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํŽ˜์ด์ง€์—์„œ ์‚ฌ๋ผ์ง ์—…๋ฐ์ดํŠธ๋Š” useEffect() ํŠน์ •๊ฐ’์— ์˜์กดํ•˜์—ฌ ํ•ด๋‹น ๊ฐ’์ด ๋ณ€๊ฒฝ, ์‹คํ–‰๋˜๋ฉด ํ•ด๋‹น useEffect()๋ฅผ ์žฌ์‹คํ–‰ํ•œ๋‹ค. useEffect()์˜ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. useEffect(()=> { // ๋งˆ์šดํŠธ ์™„๋ฃŒ ํ›„ ์‹คํ–‰ํ•  ์ฝ”๋“œ return () => { // ์–ธ๋งˆ์šดํŠธ ์™„๋ฃŒ ํ›„ ์‹คํ–‰ํ•  ์ฝ”๋“œ } }, [dependencies]) ๐Ÿ’ป Code ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค. ๐Ÿ“„ EffectComponent.tsx import React, { useEffect, useState } from 'react..
๐ŸŒ ๋ฆฌ์•กํŠธ ๋ฉ”ํƒ€์—์„œ ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ ์†Œ์Šค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ํŽ˜์ด์ง€ ์ „ํ™˜ ๋ฐ ์‚ฌ์šฉ์ž 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
'๋ฆฌ์•กํŠธ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก