๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฆฌ์•กํŠธ21

[React] styled-components ๐Ÿ“–๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ ๐Ÿ“–์„ ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ 14์žฅ์—์„œ ๋‰ด์Šค๋ทฐ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ๋ถ€๋ถ„์—์„œ ์ฒ˜์Œ์œผ๋กœ styled-components์— ๋Œ€ํ•œ ๋ถ€๋ถ„์ด ์–ธ๊ธ‰๋˜์—ˆ๋‹ค. ์ด ๋•๋ถ„์— ํŽ˜์ด์ง€๋Š” ์ด์˜๊ฒŒ ์™„์„ฑ๋˜์—ˆ์ง€๋งŒ ์™œ css, sass(scss)๋ฅผ ์ด์šฉํ•˜์ง€์•Š๊ณ  styled-components๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒƒ์ผ๊นŒ? ์ด๋Ÿฐ ๊ถ๊ธˆ์ฆ์„ ์–ป๊ฒŒ ๋˜์–ด ๋‚˜๋Š” ๋‹ค์‹œ ๊ตฌ๊ธ€๋ง์„ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ตฌ๊ธ€์— "styled-components"๋ฅผ ์ณ๋ณด์•˜๋”๋‹ˆ ์ด ์›น์‚ฌ์ดํŠธ๊ฐ€ ๋–ด๋‹ค. ์Šคํƒ€์ผ๋“œ ์ปดํฌ๋„ŒํŠธ์˜ ๊ณต์‹ ์›น์‚ฌ์ดํŠธ์ธ๊ฐ€ ๋ณด๋‹ค. ์ด ์‚ฌ์ดํŠธ์— ๋”ฑ ์ฒ˜์Œ์— ๋“ค์–ด๊ฐ€์ž๋งˆ์ž ๋ณด๋ฉด ์ด๋ ‡๊ฒŒ ์“ฐ์—ฌ์ ธ์žˆ๋‹ค. Visual primitives for the component age? ์ผ๋‹จ ๋ญ ๋น„์ฃผ์–ผ์ ์œผ๋กœ ๋„์™€์ค€๋‹ค๋Š” ์†Œ๋ฆฌ๊ฐ™๋‹ค Use the best bits of ES6 and CSS to style you.. 2021. 2. 3.
[React] ์˜ํ™” ์›น ์˜ค๋Š˜์€ ๋‚ด๊ฐ€ ๋ช‡์ผ ์ „์— ๋งŒ๋“  ์˜ํ™” ์›น์„ ๋งŒ๋“ค๋ฉด์„œ ์ „๋ฐ˜์ ์œผ๋กœ ์ผ๋˜ ๊ธฐ์ˆ ?๋“ค์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ ํ•œ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ๋…ธ๋งˆ๋“œ ์ฝ”๋”๋‹˜์˜ ๊ฐ•์˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ–ˆ์œผ๋ฉฐ, ์ „์ฒด์ ์œผ๋กœ๋Š” ๊ฒฐ๊ณผ๋ฌผ์ด ๋น„์Šทํ•˜๋‚˜ ๋ˆ„๋ฅด๋ฉด ์ค„๊ฑฐ๋ฆฌ๋งŒ ๋‚˜์˜ค๋Š” ํ™”๋ฉด์ด ๋‚˜์˜ค๋Š” ๊ฒƒ๊ณผ Aboutํ™”๋ฉด์˜ css๋“ฑ ์ž์ž˜ํ•˜๊ฒŒ๋งŒ ์‘์šฉ์„ ํ•ด์„œ ์ˆ˜์ •์„ ํ–ˆ๋‹ค. ์ด๋ฒˆ์— ์ด๋ ‡๊ฒŒ ์ „์ฒด์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•ด๋ณด๋‹ˆ๊นŒ ๋ฆฌ๋‹ค๊ธฐ์—์„œ ์ฑ…์œผ๋กœ๋งŒ ๋ณด๊ณ  ์˜ˆ์ œ๋ฅผ ๋”ฐ๋ผํ•˜๋ฉฐ ์ดํ•ดํ–ˆ๋˜ ๊ฒƒ ๊ทธ ์ด์ƒ์œผ๋กœ ๋งŽ์€ ๊ฒƒ์„ ๋Š๋‚„ ์ˆ˜ ์žˆ์–ด์„œ ๋„ˆ๋ฌด ์ข‹์•˜๋‹ค. ์ด ๋•Œ ์ด ๊ฐœ๋…์ด ์—ฌ๊ธฐ์— ์“ฐ์ด๋Š”๊ฑฐ๊ตฌ๋‚˜!!ํ•˜๋ฉด์„œ ๋ฐ˜๊ฐ‘๊ธฐ๋„ ํ•˜๊ณ  ์ž˜๋ชป์ดํ•ดํ–ˆ๋˜ ๋ถ€๋ถ„๋“ค์„ ๊ณ ์น  ์ˆ˜ ์žˆ์–ด์„œ ์žฌ๋ฐŒ์—ˆ๋‹ค. ์ƒˆ๋กœ ์•Œ๊ฒŒ ๋œ ๋ถ€๋ถ„ ์ค‘์— ๊นƒํ—™ ํŽ˜์ด์ง€๊ฐ€ ์žˆ์–ด์„œ ๋„ˆ๋ฌด ์‹ ๋‚˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋๋‚ด์ž๋งˆ์ž ๋ฐ”๋กœ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…๋„ ํ•˜๋‚˜ ํ–ˆ์—ˆ๋‹คใ…Žใ…Ž... ๊ทธ๋ž˜์„œ ์ „์ฒด์ ์œผ๋กœ ์ •๋ฆฌํ•ด๋†“์œผ๋ฉด ๋‚˜์ค‘์— ๋ณด๊ธฐ์—๋„.. 2021. 2. 3.
[React] React๋ฅผ GitHub Page์— ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ…ํ•˜๊ธฐ(ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ) ์˜ค๋Š˜์€ React JS๋กœ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ github page์— ๋ฌด๋ฃŒ๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•ด๋ณด์•˜๋‹ค. ๊ฐ€๋” ๋ธ”๋กœ๊ทธ๋‚˜ ์‚ฌ์ดํŠธ๋“ค์„ ๋ณผ๋•Œ ์ฃผ์†Œ๊ฐ€ github.io๋ผ๊ณ  ์ž‘์„ฑ๋˜์–ด์žˆ๋Š”๊ฑธ ๋งŽ์ด ๋ดค์—ˆ๋Š”๋ฐ, ์ด ํ˜ธ์ŠคํŒ…์— ๋Œ€ํ•ด ์•Œ๊ธฐ ์ „๊นŒ์ง€๋Š” ๊ทธ๋ƒฅ ๊นƒํ—™์—์„œ ๋งŒ๋“ค์–ด๋†“์€ ๋ธ”๋กœ๊ทธ์ธ์ค„๋งŒ ์•Œ์•˜์—ˆ๋‹ค. ์†”์งํžˆ ์ด๊ฑธ ์•Œ๊ณ ๋‚˜๋‹ˆ ์ง€๊ธˆ ์™„์ „ ์‹ ์„ธ๊ณ„๋‹ค๐Ÿ˜ฒ ์ง€๊ธˆ ๋„ˆ๋ฌด ์‚˜๊ฝ‚ํ˜€์„œ ํ”ผ๊ณคํ•œ๋ฐ๋„ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…์„ ํ•˜๊ณ  ์žˆ๋‹ค. ๋‚ด๊ฐ€ ์˜ค๋Š˜ ๊นƒํ—™ ํŽ˜์ด์ง€๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“  ์›น์‚ฌ์ดํŠธ๋Š” ์˜ํ™”์†Œ๊ฐœ ์›น์ด๋‹ค. ์œ„์˜ ๋งํฌ๋ฅผ ๋‹ฌ์•„๋†“์€๊ฒƒ๊ณผ ๊ฐ™์ด ๋‚ด๊ฐ€ ๋งŒ๋“  ์‚ฌ์ดํŠธ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ yarn(npm) start๋กœ ์ผœ์„œ ๋งŒ๋“  ์‚ฌ์ดํŠธ๊ฐ€ ์•„๋‹Œ ๊ณ„์†ํ•ด์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์›น์— ๋“ค์–ด๊ฐ€๋ณด๊ธฐ ๊ท€์ฐฎ์€ ๋ถ„๋“ค์€ ์•„๋ž˜ ์›€์งค์„ ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹น GitHub Page github p.. 2021. 2. 2.
[JavaScript] map ํ•จ์ˆ˜ ๋ฆฌ์•กํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ณต๋ถ€ํ•˜๋‹ค๋ณด๋‹ˆ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•์— ๋Œ€ํ•ด ๋ถ€์กฑํ•œ ์ ์„ ๋งŽ์ด ๋Š๊ปด ์ž์„ธํžˆ ๊ณต๋ถ€ํ•˜๊ธฐ๋กœ ๋งˆ์Œ๋จน์—ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•์„ ๋ณด๋‹ค ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๊ณ ์žˆ์–ด์•ผ ๋ฆฌ์•กํŠธ๋ฅผ ํ•˜๋Š”๋ฐ๋„ ์˜จ์ „ํžˆ ๋‚ด๊ฒƒ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ ‡๊ฒŒ ์ฝ”๋“œ์—์„œ ๋‚ด๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉํ–ˆ๋˜ ํ•จ์ˆ˜๋“ค ์œ„์ฃผ๋กœ ์ž‘์„ฑํ•ด๋ณด๋ ค๊ณ ํ•œ๋‹ค. ์˜ค๋Š˜์€ mapํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ด ๊ธ€์€ MDN ๊ณผ ์ œ๋กœ์ดˆ๋‹˜์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. map ํ•จ์ˆ˜ ๋ฐฐ์—ด.map((์š”์†Œ, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด) => { return ์š”์†Œ }); arr.map(callback(currentValue[, index[, array]])[, thisArg]) mapํ•จ์ˆ˜๋Š” ์œ„์™€๊ฐ™์€ ๊ตฌ๋ฌธ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋‘๊ฐ€์ง€ ๊ตฌ๋ฌธํ‘œํ˜„๋ฐฉ๋ฒ•์€ ๋‚˜๋Š” ์•„๋ž˜์˜ ํ‘œํ˜„๋ณด๋‹ค๋Š” ์œ„์˜ ํ‘œํ˜„์ด ๋” ์™€๋‹ฟ์•˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๋ฐฐ์—ด .. 2021. 2. 1.
[React] ContextAPI๋ฅผ ์‚ฌ์šฉํ•ด์„œ TodoList๋งŒ๋“ค๊ธฐ(1) : styled-components ๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ ์—์„œ๋Š” ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ์˜ˆ์ œ๋ฅผ ๋งŒ๋“ค์–ด๋ดค์—ˆ๋Š”๋ฐ, ๊ทธ ๋•Œ์™€ ๋‹ค๋ฅด๊ฒŒ ์ด๋ฒˆ์—๋Š” contextAPI๋ฅผ ์ด์šฉํ•ด์„œ ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค. ์•„์ง contextAPI์— ๋Œ€ํ•ด์„œ ๋ˆ„๊ตฌ์—๊ฒŒ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์„๋งŒํผ ์ •๋ฆฌ๊ฐ€ ์•ˆ๋˜์–ด์žˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ๋‹ค์‹œ ์ƒˆ๋กœ์šด ๋งˆ์Œ์œผ๋กœ ๊ณต๋ถ€๋ฅผ ํ•ด๋ดค๋‹ค. ๊ทธ๋ž˜์„œ! ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” contextAPI์— ๋Œ€ํ•œ ๊ฐœ๋…๋“ค์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜๊ณ , ํˆฌ๋‘๋ฆฌ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด์„œ ๋‹ค์‹œ ์ •๋ฆฌํ•ด๋ณผ ์ƒ๊ฐ์ด๋‹ค. contextAPI๋ฅผ ์‚ฌ์šฉํ•œ ํˆฌ๋‘๋ฆฌ์ŠคํŠธ ์˜ˆ์ œ๋Š” ๋ฒจ๋กœํผํŠธ๋‹˜์˜ ์ด ๊ธ€์„ ์ฐธ๊ณ ํ•ด์„œ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € styled-components๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ๊พธ๋ฉฐ์คฌ๋Š”๋ฐ, ๊ฑฐ๊ธฐ์„œ ์‚ฌ์šฉ๋œ ์Šคํƒ€์ผ๋ง์—์„œ ๋‚ด๊ฐ€ ์ž˜ ๋ชฐ๋ž๋˜ ๋ถ€๋ถ„๋“ค์— ๋Œ€ํ•ด ์ ์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. createGlobalStyle : ์ด ๊ธฐ๋Šฅ์€ ํŽ˜์ด์ง€ ์ „.. 2021. 1. 31.
[React] ๋Œ“๊ธ€๊ธฐ๋Šฅ ๊ตฌํ˜„ ๐Ÿ“–์š”์ฆ˜ ๋ฆฌ์•กํŠธ๋ฅผ ์–ด๋Š์ •๋„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋‚ด ํž˜์œผ๋กœ ๊ฐ„๋‹จํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค์–ด๋ณด๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์— ๋ธ”๋กœ๊ทธ? SNS?์™€ ๊ฐ™์€ ํ˜•์‹์˜ ๊ฒŒ์‹œ๋ฌผ๊ณผ ๋Œ“๊ธ€๊ณผ ์ข‹์•„์š”๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ๋‹ค. ํ•˜๋‚˜์˜ ์‹ฑ๊ธ€ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ๋„ ์ด๋ ‡๊ฒŒ ๋งŽ์€ ์‹œํ–‰์ฐฉ์˜ค๊ฐ€ ํ•„์š”ํ•œ ๊ฑธ ๊ฒช์–ด๋ณด๋‹ˆ, ์•„์ง ๊ฐˆ ๊ธธ์ด ๋งŽ์ด ๋ฉ€๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค๐Ÿ˜ฅ ์ด ๊ธ€์€ ์ด๋ฒˆ ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๋‚ด๊ฐ€ ๊ฒช์—ˆ๋˜ ์˜ค๋ฅ˜๋“ค๊ณผ ์ด๋ฅผ ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ•๊ณผ ์™œ ๊ทธ๋ ‡๊ฒŒ ์จ์•ผ๋งŒํ•˜๋Š”์ง€ ๊ทธ ์ด์œ ์— ๋Œ€ํ•ด์„œ ์จ๋ณด๋ ค๊ณ ํ•œ๋‹ค. ์ด๋ฒˆ์— ๊ฒช์€ ์˜ค๋ฅ˜๋Š” inputํƒœ๊ทธ๋กœ ์ด๋ฆ„๊ณผ ๋Œ“๊ธ€์˜ ๋‚ด์šฉ์„ ์ž…๋ ฅ๋ฐ›์•„ ๋Œ“๊ธ€์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์ž…๋ ฅ๋ฐ›์€ ๋‚ด์šฉ๋“ค์ด ๋œจ์ง€ ์•Š๊ณ  ๋นˆ ์นธ์ด ๋œจ๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๋Œ“๊ธ€์˜ ์ž…๋ ฅ์„ ๋ฐ›๋Š” ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋˜์–ด์žˆ๋Š” commentInput.js์˜ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. import React, .. 2021. 1. 25.
๋ฐ˜์‘ํ˜•