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

์ „์ฒด ๊ธ€84

[React] ๋Œ“๊ธ€๊ธฐ๋Šฅ ๊ตฌํ˜„ ๐Ÿ“–์š”์ฆ˜ ๋ฆฌ์•กํŠธ๋ฅผ ์–ด๋Š์ •๋„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋‚ด ํž˜์œผ๋กœ ๊ฐ„๋‹จํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค์–ด๋ณด๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์— ๋ธ”๋กœ๊ทธ? SNS?์™€ ๊ฐ™์€ ํ˜•์‹์˜ ๊ฒŒ์‹œ๋ฌผ๊ณผ ๋Œ“๊ธ€๊ณผ ์ข‹์•„์š”๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ๋‹ค. ํ•˜๋‚˜์˜ ์‹ฑ๊ธ€ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ๋„ ์ด๋ ‡๊ฒŒ ๋งŽ์€ ์‹œํ–‰์ฐฉ์˜ค๊ฐ€ ํ•„์š”ํ•œ ๊ฑธ ๊ฒช์–ด๋ณด๋‹ˆ, ์•„์ง ๊ฐˆ ๊ธธ์ด ๋งŽ์ด ๋ฉ€๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค๐Ÿ˜ฅ ์ด ๊ธ€์€ ์ด๋ฒˆ ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๋‚ด๊ฐ€ ๊ฒช์—ˆ๋˜ ์˜ค๋ฅ˜๋“ค๊ณผ ์ด๋ฅผ ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ•๊ณผ ์™œ ๊ทธ๋ ‡๊ฒŒ ์จ์•ผ๋งŒํ•˜๋Š”์ง€ ๊ทธ ์ด์œ ์— ๋Œ€ํ•ด์„œ ์จ๋ณด๋ ค๊ณ ํ•œ๋‹ค. ์ด๋ฒˆ์— ๊ฒช์€ ์˜ค๋ฅ˜๋Š” inputํƒœ๊ทธ๋กœ ์ด๋ฆ„๊ณผ ๋Œ“๊ธ€์˜ ๋‚ด์šฉ์„ ์ž…๋ ฅ๋ฐ›์•„ ๋Œ“๊ธ€์„ ๋„์šฐ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์ž…๋ ฅ๋ฐ›์€ ๋‚ด์šฉ๋“ค์ด ๋œจ์ง€ ์•Š๊ณ  ๋นˆ ์นธ์ด ๋œจ๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๋Œ“๊ธ€์˜ ์ž…๋ ฅ์„ ๋ฐ›๋Š” ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋˜์–ด์žˆ๋Š” commentInput.js์˜ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. import React, .. 2021. 1. 25.
[JavaScript] filter() ๐Ÿ“–๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ ๐Ÿ“–์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ปดํฌ๋„ŒํŠธ์˜ ๋ฐ˜๋ณต์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋ฐฐ์—ด ๊ฐ์ฒด์˜ ๋‚ด์žฅํ•จ์ˆ˜๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜์˜€๋Š”๋ฐ, ์ด๋ฅผ ์ข€ ๋” ์ž์„ธํ•˜๊ฒŒ ์•Œ์•„๋ณด๊ณ  ์‹ถ์—ˆ๋‹ค. ๋ฆฌ๋‹ค๊ธฐ์—์„œ filter()๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ•„ํ„ฐํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. const onRemove = id => { const nextNames = name.filter(name => name.id !== id); setNames(nextNames); }; ์ด ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ๋œ id๋ฅผ ๋ฐ›์•„์„œ ๊ทธ id์™€ ๋‹ค๋ฅธ ์ฆ‰, ํ•ด๋‹น๋œ id๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ id์— ํ•ด๋‹น๋˜๋Š” name๋“ค์„ ๋ชจ์•„๋†“์€ ๋ฐฐ์—ด์ด nextNames๊ฐ€ ๋˜๋Š”๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๊ณ ๋‚˜์„œ setNames(nextNames)๋ฅผ ํ†ตํ•ด์„œ names๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•ด์ฃผ๋Š”๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด, ์—ฌ๊ธฐ์„œ fi.. 2021. 1. 24.
[JavaScript] push() & concat() ์˜ค๋Š˜์€ ๋ฆฌ์•กํŠธ๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ ๋ฏธ๋ค„๋†“์•˜๋˜ ๊ถ๊ธˆ์ฆ์„ ํ’€์–ด๋ณด์•˜๋‹ค. ๐Ÿ“–๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ ๐Ÿ“–์˜ 6์žฅ์—์„œ ๋‚ด์žฅํ•จ์ˆ˜์— ๋Œ€ํ•œ ์–ธ๊ธ‰์ด ์žˆ์—ˆ๋Š”๋ฐ, ๊ฑฐ๊ธฐ์— concat, filter์™€ ๊ฐ™์€ ํ•จ์ˆ˜๊ฐ€ ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ concat ํ•จ์ˆ˜๋ฅผ ์ฐพ์•„๋ณด๋‹ค๋ณด๋‹ˆ pushํ•จ์ˆ˜์™€ ๋น„๊ต๊ฐ€ ๋งŽ์ด ๋˜๊ธธ๋ž˜ ๊ฐ™์ด ๊ณต๋ถ€ํ•ด๋ณด์•˜๋‹ค. ์ด ๋‘ ํ•จ์ˆ˜๋“ค์€ ๋ฐฐ์—ด์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. ๊ทธ๋Ÿผ ๊ทธ ์‚ฌ์ด์—์„œ ๋‘ ํ•จ์ˆ˜์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ผ๊นŒ? ๋จผ์ €, push ํ•จ์ˆ˜๋ฅผ ์•Œ์•„๋ณด๊ณ , concatํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ๋‹ค. ์™œ ๋‘ ํ•จ์ˆ˜๋ฅผ ๊ฐ™์ด ๋น„๊ตํ•˜๋Š”๊ฒƒ์ธ๊ฐ€? ๊ทธ ์ด์œ ๋Š” ๋‘ ๊ฐœ์˜ ๋ฐฐ์—ด์„ ํ•˜๋‚˜์˜ ๋ฐฐ์—ด๋กœ ํ•ฉ์น  ๋•Œ, ์ผ์–ด๋‚˜๋Š”๋ฐ ํ•˜๋‚˜์˜ ์›์†Œ๋ฅผ ๋ฐ€์–ด๋„ฃ๋Š” push ๋Œ€์‹ ์— concat์„ ์‚ฌ์šฉํ•˜๋ผ๊ณ  ๋‘ ํ•จ์ˆ˜๋ฅผ ๊ฐ™์ด ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๊ธ€์€ MDN์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€๋‹ค. push() push๋Š” ๊ธฐ์กด.. 2021. 1. 20.
Sass์‚ฌ์šฉ ์˜ค๋ฅ˜ & Sass๋ฅผ CSS๋กœ ๋ฐ”๊พธ๊ธฐ ๋ฆฌ์•กํŠธ๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋งŽ์€ ์˜ˆ์ œ๋“ค์„ ์ ‘ํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ค‘์— Sass๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์ œ๋“ค์„ ๋งŽ์ด ๋งž๋‹ฅ๋“œ๋ ธ๋‹ค. CSS์™€ ๋‹ค๋ฅด๊ฒŒ ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ์žฌํ™œ์šฉ์„ฑ์„ ๋†’์—ฌ์ฃผ๊ณ , ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์—ฌ์ค€๋‹ค๋Š” ํ˜นํ•˜๋Š” ๋งค๋ ฅ๊ณผ๋Š” ๋‹ฌ๋ฆฌ ๋‚˜๋Š” ์—„์ฒญ๋‚œ ์˜ค๋ฅ˜ํญํƒ„์„ ๋งž์ดํ–ˆ๋‹ค.๐Ÿ˜ฅ ์˜ค๋Š˜ ์ด ํฌ์ŠคํŠธ์˜ ์ˆœ์„œ๋Š” SCSS์‚ฌ์šฉํ•˜๋ฉด์„œ ๋ฐœ์ƒํ–ˆ๋˜ ์˜ค๋ฅ˜ SCSS ์ฝ”๋“œ => CSS์ฝ”๋“œ ๐ŸคฏSCSS ์‹คํ–‰ ์˜ค๋ฅ˜ node sass version 5.0.0 is incompatible with ^4.0.0. scss์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ํ›„, ์‹คํ–‰์„ ํ•˜๋ฉด ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚ฌ๋‹ค. node sass์˜ ๋ฒ„์ „์ด ์•ˆ๋งž๋Š”๋‹ค๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€,,, ๊ทธ๋ž˜์„œ ๋ฐ”๋กœ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ดค๋‹ค. stackoverflow.com/questions/64625050/error-node-sass-version-5-0-.. 2021. 1. 13.
[React] ํˆฌ๋‘๋ฆฌ์ŠคํŠธ ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ&์ฝ”๋“œ ๋ถ„์„ ๐Ÿ“–๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ ์„ ํ†ตํ•ด ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑํ•œ ํฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.๐Ÿ“– ์˜ค๋Š˜์€ ๊ทธ๋™์•ˆ ๋ฐฐ์› ๋˜ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์ค‘์‹ฌ์œผ๋กœ ํ•  ์ผ์„ ์ž‘์„ฑํ•˜๊ณ  ๊ธฐ๋กํ•˜๋Š” ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค. ์ฒ˜์Œ์œผ๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์™„์„ฑ๋œ ํ•œ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋Š” ๊ฑฐ๋ผ ์˜ˆ์ œ๋ฅผ ๋”ฐ๋ผํ•˜๋ฉด์„œ๋„ ์ปดํฌ๋„ŒํŠธ๊ฐ„์˜ ๊ตฌ์กฐ์™€ ์„ธ์„ธํ•˜๊ฒŒ ์“ฐ์ด๋Š” ์†์„ฑ๋“ค์— ๊ด€ํ•ด ๋” ์ž์„ธํ•˜๊ฒŒ ์•Œ๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š”๋ฐ ์žˆ์–ด ๊ถ๊ธˆํ•œ ๋ถ€๋ถ„๋“ค์ด ๋งŽ์ด ์žˆ์–ด์„œ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค. ์ผ๋‹จ ์ •๋ฆฌํ•œ ๋ถ€๋ถ„์€ ํˆฌ๋‘๋ฆฌ์ŠคํŠธ์˜ ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ import cn from {classnames}; ๋ฆฌ์•กํŠธ๋กœ ๋งŒ๋“  ํˆฌ๋‘๋ฆฌ์ŠคํŠธ ์ฝ”๋“œ ์›๋ž˜๋Š” ์ฝ”๋“œ๋ฅผ ๋‹ค ๋”ฐ๋กœ ์˜ฌ๋ฆฌ๋ ค๊ณ  ํ–ˆ์ง€๋งŒ, ๋งŒ๋“  ํŒŒ์ผ๋„ ๋งŽ๊ณ  ํ•˜๋‹ค๋ณด๋‹ˆ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์งˆ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ํŒ๋‹จํ•˜์— ๊นƒํ—™์„ ์˜ฌ๋ฆฌ๋Š” ๊ฒŒ ๋” ๋‚˜์„ ๊ฒƒ ๊ฐ™๋‹ค. github.com/MinJoo-.. 2021. 1. 11.
[React] ํ›…(Hooks) ๐Ÿ“–๋ฆฌ๋‹ค๊ธฐ, ๊ณต์‹๋ฌธ์„œ, ๋…ธ๋งˆ๋“œ ์ฝ”๋”, ์ œ๋กœ์ดˆ๋‹˜์˜ ์˜์ƒ์„ ๋ณด๊ณ  ์ œ๊ฐ€ ์ดํ•ดํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.๐Ÿ“– ๋ฆฌ๋‹ค๊ธฐ์—์„œ 8์žฅ์— ํ›…์— ๋Œ€ํ•œ ์„ค๋ช…์ด ๋‚˜์˜จ๋‹ค. ์˜ˆ์ œ๋ฅผ ๋”ฐ๋ผํ•˜๋ฉด์„œ ํ•ด๋ณด์•˜์ง€๋งŒ 8์žฅ๊นŒ์ง€ ํœ˜๋šœ๋ฃจ๋งˆ๋šœ๋ฃจ ๋‹ฌ๋ ค์„œ ๊ทธ๋Ÿฐ๊ฐ€ ๋‡Œ์— ๊ณผ๋ถ€ํ™”๊ฐ€ ์™€์„œ ๋จธ๋ฆฌ๊ฐ€ ๋ฐ›์•„๋“ค์ด๊ธฐ๋ฅผ ๊ฑฐ๋ถ€๋ฅผ ํ•˜๋Š” ๊ฒƒ ๊ฐ™์•˜๋‹ค. ํ•˜์ง€๋งŒ, 8์žฅ๊นŒ์ง€ ํ–ˆ์„๋•Œ ์ด ๋ถ€๋ถ„์ด ๋น„์ค‘์ด ์žˆ๊ณ  ์ค‘์š”ํ•˜๋‹ค๊ณ  ๋Š๊ปด์กŒ๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋ฃจ ์‰ฌ๊ณ  ํ•˜๋ฃจ ๋‹ค์‹œ ๋‚  ์žก์•„์„œ ๊ณต์‹๋ฌธ์„œ์™€ ์ฑ…, ์˜์ƒ์„ ๊ฐ€๋ฆฌ์ง€ ์•Š๊ณ  ์ฐพ์•„๋ณธ ๊ฒฐ๊ณผ ์–ด๋Š ์ •๋„? ์กฐ๊ธˆ์€? ์ดํ•ด๋ฅผ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.๐Ÿ˜ฅ ์šฐ์„  ์ œ์ผ ์ค‘์š”ํ•œ ํฌ์ธํŠธ๋Š” ๊ฐœ๋…์„ ์–ด๋Š ์ •๋„ ์ดํ•ด๋ฅผ ํ•˜๊ณ  ์˜ˆ์ œ๋ฅผ ๋‹ค์‹œ ํ•ด๋ณด๋Š”๊ฒƒ!์ด ์ดํ•ด๋ฅผ ํ•˜๋Š” ๋ฐ ๋งŽ์€ ๋„์›€์ด ๋๋‹ค. ๋˜, ๋…ธ๋งˆ๋“œ ์ฝ”๋”๋‹˜์˜ ์˜์ƒ๊ณผ ์ œ๋กœ์ดˆ๋‹˜์˜ ํ›…์— ๋Œ€ํ•œ ์˜์ƒ์ด ๋„์›€์ด ๋งŽ์ด ๋๋‹ค. ํ›…์€ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ state.. 2021. 1. 6.
๋ฐ˜์‘ํ˜•