๐Ÿง‘‍๐Ÿ’ป๊ฐœ๋ฐœ_Deep Dive 5

antd์— styled-components ๊ฐ„๋‹จ ์ ์šฉ

์ด์Šˆ antd๋กœ ๋ถˆ๋Ÿฌ์˜จ ์ปดํฌ๋„ŒํŠธ์— styled-components๋ฅผ ์ ์šฉํ•  ๋•Œ, ์ด๋ฏธ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ƒ๋‹จ์— ์ •์˜๋˜์–ด ์žˆ์–ด์„œ ๋™์ผํ•œ ๋ณ€์ˆ˜๋ช…์„ ๊ฐ€์ง„ styled-components๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†์–ด์„œ ๋‚œ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ์ด๋ฆ„์„ ์“ฐ์ž๋‹ˆ ์ƒ๋‹จ์— ์žˆ์–ด์„œ ์ค‘๋ณต๋˜๊ณ , ๋‹ค๋ฅธ ์ด๋ฆ„์„ ์“ฐ์ž๋‹ˆ ์ด๋ฏธ ์ •ํ•ด์ ธ ์žˆ๋Š” antd ์ปดํฌ๋„ŒํŠธ๋ช…์„ ํ•จ๋ถ€๋กœ ๋ฐ”๊พธ๋ฉด ์•ˆ ๋˜๋Š”๊ฑฐ ์•„๋‹Œ๊ฐ€...? ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ์˜์™ธ๋กœ ๊ฐ„๋‹จํ–ˆ๋Š”๋ฐ, styled(์ปดํฌ๋„ŒํŠธ) ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•ด์„œ ๊ฐ€์ ธ๋‹ค์จ๋„ ์ƒ๊ด€์—†์—ˆ์Šต๋‹ˆ๋‹ค! styled-component๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” 1. ์Šคํƒ€์ผ๋ง๋œ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ฐ€์ ธ๋‹ค ์“ฐ๊ธฐ 2. ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์Šคํƒ€์ผ๋งํ•ด์„œ ๊ฐ€์ ธ๋‹ค ์“ฐ๊ธฐ ๋กœ ๋‚˜๋ˆ ๋ณผ ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค. 1๋ฒˆ ๋ฐฉ๋ฒ•์€ styled.ํƒœ๊ทธ๋ช… ์ฒ˜๋Ÿผ ์ž‘์„ฑํ•˜๊ณ , ..

[๋ฆฌ์•กํŠธ] CRA ์—†์ด ๋ฆฌ์•กํŠธ ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•ด๋ณด๊ธฐ

๊ฐ•์˜๋ฅผ ๋“ฃ๊ฑฐ๋‚˜ ํ˜ผ์ž ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ, ์•„๋ฌด ์ƒ๊ฐ ์—†์ด ์Šต๊ด€์ ์œผ๋กœ CRA(Create React App)๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๋‹ค๋ณด๋‹ˆ ๋ฆฌ์•กํŠธ๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ์›๋ฆฌ๋ฅผ ์ง€๋‚˜์น˜๊ฒŒ ๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. CRA ์—†์ด index.html์— ๋ฆฌ์•กํŠธ๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์šฐ์„  ๋Œ€๋ถ€๋ถ„์˜ ์„ค์ •์€ ๋ฆฌ์•กํŠธ ๊ณต์‹๋ฌธ์„œ์— ๋‚˜์™€์žˆ์œผ๋ฏ€๋กœ ๊ณต์‹ ๋ฌธ์„œ๋งŒ ๋”ฐ๋ผํ•ด๋„ ์ž˜ ์ž‘๋™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์ œ๊ฐ€ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ์ •๋ฆฌ๋ฅผ ํ•˜๊ณ  ์‹ถ์–ด์„œ ๋ธ”๋กœ๊ทธ์— ์ ๊ณ ์žˆ์Šต๋‹ˆ๋‹ค๐Ÿ˜Š https://ko.reactjs.org/docs/add-react-to-a-website.html ์›น์‚ฌ์ดํŠธ์— React ์ถ”๊ฐ€ – React A JavaScript library for building user interfaces ko.reactjs.org 1. ํƒœ๊ทธ ์•ˆ์— ..

[๋ฆฌ์•กํŠธ] ์ปดํฌ๋„ŒํŠธ์™€ props ~ ์ƒํƒœ ๋Œ์–ด์˜ฌ๋ฆฌ๊ธฐ

์ปดํฌ๋„ŒํŠธ์™€ props๋ฅผ ๋‹ค์‹œ ๋ฐฐ์›Œ๋ณด๋‹ˆ... ๋ณต์Šตํ•  ๊ฒธ ๋‹ค์‹œ ๊ณต๋ถ€๋ฅผ ํ•ด๋ณด๋‹ˆ ๋ Œ๋”๋ง ์˜์—ญ(์ตœ์ƒ๋‹จ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ)์—์„œ๋Š” ์‹ค์ œ๋กœ ๋ณด์—ฌ์ง€๋Š” ๋ฐ์ดํ„ฐ๋ฅผ props๋กœ ๋„˜๊ฒจ์ฃผ๋Š” ์—ญํ• , ์ปดํฌ๋„ŒํŠธ(์ž์‹ ์ปดํฌ๋„ŒํŠธ) ์ •์˜ ์˜์—ญ์—์„œ๋Š” ๋„˜๊ฒจ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋‹ˆ๊นŒ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์› ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ถ€๋ชจ์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋„˜๊ฒจ์ฃผ๊ณ , ์ •์˜๋œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค! ์Šคํƒ€์ผ๋ง์€ ๊ทธ๋•Œ๊ทธ๋•Œ ์•Œ๋งž๊ฒŒ ์‚ฌ์šฉํ•˜์ž ๊ฐ•์˜์—์„œ๋Š” ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ๋ง์— ๋Œ€ํ•ด 1. ์ธ๋ผ์ธ ์Šคํƒ€์ผ๋ง 2. emotion 3. styled-components 4. tailwind(ํ…Œ์ผ์œˆ๋“œ) ์ด๋ ‡๊ฒŒ 4๊ฐ€์ง€์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ค‘์—์„œ ์ €๋Š” ์ธ๋ผ์ธ ์Šคํƒ€์ผ๋ง๊ณผ styled-components๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์•˜๋Š”๋ฐ์š”. ์ตœ๊ทผ์—๋Š” emotion์„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ..

์—ฐ์‚ฐ์ž์— ๋Œ€ํ•ด ์•Œ๊ฒŒ๋œ ์‚ฌ์‹ค

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค๋กœ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ํ’€์–ด๋ณด๋Š”๋ฐ ์•„์ฃผ ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ •์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์„ ์ˆซ์žํ˜•์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ ๋ฌธ์ž์—ด์„ ์ •์ˆ˜ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” parseInt ๋ฉ”์„œ๋“œ๊ฐ€ ๋– ์˜ฌ๋ผ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ๋ณด๋Š”๋ฐ, ๋ˆˆ์— ๋„๋Š” ํ’€์ด๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ๋„ ์•„์ฃผ์•„์ฃผ ๊ฐ„๋‹จํ•œ ํ’€์ด. ์•„๋งˆ ์ œ๊ฐ€ ๋ณธ ๋ฌธ์ œ์ค‘์— ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ’€์ด๊ฐ€ ์•„๋‹๊นŒ ์‹ถ์Šต๋‹ˆ๋‹ค! ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋Š” ๋„์ €ํžˆ ํ’€ ์ˆ˜ ์—†์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์™œ ๋งž๋Š”๊ฑธ๊นŒ์š”? ์—ฐ์ž”์‚ฌ์˜ ํ˜•๋ณ€ํ™˜์„ ๊ธฐ์–ตํ•˜์ž ๋ง์…ˆ, ๋บ„์…ˆ, ๊ณฑ์…ˆ, ๋‚˜๋ˆ—์…ˆ์˜ ์‚ฌ์น™์—ฐ์‚ฐ ์‚ฐ์ˆ ์ž์—๋Š” +, -, *, / ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด๊ณผ ์ˆซ์žํ˜•์„ ์‚ฌ์น™์—ฐ์‚ฐํ•˜๋ฉด ๊ฒฐ๊ณผ๊ฐ’์˜ ํƒ€์ž…์€ ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๋ง์…ˆ์„ ์ œ์™ธํ•œ ๋บ„์…ˆ, ๊ณฑ์…ˆ, ๋‚˜๋ˆ—์…ˆ์€ ์ˆซ์ž๋กœ ํ˜•๋ณ€ํ™˜์ด ..

[๋ฆฌ์•กํŠธ]styled-components

styled-components๋Š” CSS in JS๋ผ๋Š” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. CSS in JS๋Š” ๋ง๊ทธ๋Œ€๋กœ CSS ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ์Šคํƒ€์ผ๋ง ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๋Œ€์‹ ์—, JS ์•ˆ์— CSS๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์™€ ๊ฐ™์ด CSS in JS๋ฅผ ์ ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ์žˆ๋Š”๋ฐ, ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ๊ฒƒ์ด styled-components์ž…๋‹ˆ๋‹ค. ์ €๋Š” ๊ธฐ์ดˆ์ ์ธ ์‚ฌ์šฉ๋ฒ•์„ ์ตํžˆ๊ธฐ ์œ„ํ•ด ์•„์ฃผ ๊ฐ„๊ฐ„ํ•œ ๋ฒ„ํŠผ์„ ์ปดํฌ๋„ŒํŠธํ™” ํ•œ๋‹ค์Œ styled-component๋ฅผ ์ ์šฉํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. styled-component๋ฅผ ๊ณต๋ถ€ํ•  ๋•Œ ๊ผญ ์ฐธ๊ณ ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค๐Ÿ˜Ž https://bit.ly/3mAfpIp [React] Styled Components ์‚ฌ์šฉ๋ฒ• Engineering Blog..

1