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

๋ฆฌ์•กํŠธ21

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.
[React] ์Šคํฌ๋กค๋ฐ•์Šค ์ฝ”๋“œ์— ์œ„์•„๋ž˜ ์ด๋™ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๐Ÿ“–๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ ๐Ÿ“– ์ฑ…์— ์žˆ๋Š” ref์˜ˆ์ œ์ธ ์Šคํฌ๋กค ๋ฐ•์Šค ์กฐ์ž‘ ์ฝ”๋“œ๋Š” '๋งจ๋ฐ‘์œผ๋กœ'๋ผ๋Š” ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ž๋™์œผ๋กœ ์Šคํฌ๋กค์„ ๋งจ ๋ฐ‘์œผ๋กœ ๋‚ด๋ ค๊ฐ€๊ฒŒ ํ•ด์ฃผ๋Š” ๋‚ด์šฉ์ด๋‹ค. ํ•˜์ง€๋งŒ, ๋‚˜๋Š” ์—ฌ๊ธฐ์„œ ์‘์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค ์Šคํฌ๋กค ๋ฐ•์Šค๊ฐ€ ์œ„, ์•„๋ž˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃฌ์ง€ ์–ผ๋งˆ ๋˜์ง€ ์•Š์•„ ์ฒ˜์Œ์—๋Š” ์ด๋ฏธ ์ž‘์„ฑ๋˜์–ด์ ธ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์–ด๋””์„œ๋ถ€ํ„ฐ ์† ๋Œ€์•ผ ๋ ์ง€ ๋ง‰๋ง‰ํ–ˆ์ง€๋งŒ, ์•ž์—์„œ ํ–ˆ๋˜ ์˜ˆ์ œ๋“ค์„ ์ด์šฉํ•ด์„œ ๊ณง์žฅ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ผ๋‹จ ์Šคํฌ๋กค์ด ๋‚ด๋ ค๊ฐ€์žˆ์„๋•Œ๋Š” ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์˜ฌ๋ผ์™€์•ผํ•˜๊ณ , ์˜ฌ๋ผ๊ฐ€์žˆ์„ ๋•Œ๋Š” ๋‚ด๋ ค์™€์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒํ™ฉ์— ๋”ฐ๋ผ ๊ฐ’์ด ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ด์— ๋Œ€ํ•œ ์ดˆ๊ธฐ๊ฐ’๋“ค์„ ์„ค์ •ํ•ด์ค˜์•ผํ•œ๋‹ค. ์ด์— ๋”ฐ๋ผ ์•ž ์žฅ์—์„œ์˜ ์˜ˆ์ œ๋“ค์„ ๋– ์˜ฌ๋ ค์„œ state์— ๋Œ€ํ•œ ์ดˆ๊ธฐ๊ฐ’์„ App.js์— ์„ค์ •ํ•ด์ฃผ์—ˆ๋‹ค. s.. 2021. 1. 2.
[React] ref ์˜ค๋Š˜์€ ref์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•ด๋ณด์•˜๋‹ค. ๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ  ์ฑ…์„ ๋ณด๋ฉด์„œ ๊ณต๋ถ€๋ฅผ ํ•˜๋‹ค๊ฐ€ ref์— ๋Œ€ํ•ด์„œ ์ดํ•ด๊ฐ€ ๋ถ€์กฑํ•ด์„œ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐพ์•„๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ko.reactjs.org/docs/refs-and-the-dom.html ref(Reference) ref๋Š” ๋ ˆํผ๋Ÿฐ์Šค๋ผ๋Š” ๋œป์ธ๋ฐ, ์ด๋ฅผ ๋ฒˆ์—ญํ•˜๋ฉด ์ฐธ์กฐ๋ผ๋Š” ๋ง์ด๋‹ค. ๊ณผ์—ฐ ์ฝ”๋”ฉ์—์„œ ์ฐธ์กฐ๋ผ๋Š” ๊ฒƒ์€ ์–ด๋–ค ๊ฒƒ์„ ๋œปํ•˜๋Š” ๊ฒƒ์ผ๊นŒ? ์›๋ž˜ ๋‹ค๋ฅธ ์–ธ์–ด๋ฅผ ๋ฐฐ์šธ ๋•Œ, ์ฐธ์กฐ๋Š” ๋ณต์ œ์™€ ๋น„๊ต๊ฐ€ ๋˜์—ˆ์—ˆ๋‹ค. ๋ณต์ œ๋Š” ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด, ์ฐธ์กฐ๋Š” ๋ฐ”๋กœ๊ฐ€๊ธฐ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค๊ณ  ๋น„์œ ๋˜์—ˆ๋‹ค. ์ฐธ์กฐ๋Š” ์›๋ณธ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ฃผ์†Œ ๊ฐ’์ด ๋‹ด๊ฒจ์žˆ์–ด์„œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ด ๋ฐ”๋กœ๊ฐ€๊ธฐ์— ์ ‘๊ทผํ–ˆ๋‹ค๋ฉด ์—ฌ๊ธฐ์— ์ €์žฅ๋œ ์›๋ณธ์˜ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•ด์„œ ์›๋ณธ์˜ ์œ„์น˜๋ฅผ ์•Œ์•„๋‚ด๊ณ  ์›๋ณธ์— ๋Œ€ํ•œ ์ž‘์—…์„ ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด, ์›๊ฒฉ์œผ.. 2021. 1. 1.
[React] render() ํ•จ์ˆ˜ renderํ•จ์ˆ˜์— ๋Œ€ํ•œ ๊ถ๊ธˆ์ฆ์€ ์˜ค๋Š˜ ์ปดํฌ๋„ŒํŠธ์— ๊ด€ํ•œ ๋ฆฌ์•กํŠธ ๊ณต์‹๋ฌธ์„œ๋ฅผ ๋ณด๋‹ค๊ฐ€ ์‹œ์ž‘๋๋‹ค. ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์™€ ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ์˜ ์ฐจ์ด์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€๋ฅผ ํ•˜๋‹ค๊ฐ€ renderํ•จ์ˆ˜์— ๋Œ€ํ•œ ์˜๋ฌธ์ด ์ƒ๊ฒผ๋‹ค. ์œ„ ๋ฌธ์„œ๋ฅผ ๋ณด๋‹ค๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ์˜ˆ์ œ๋กœ ์ž‘์„ฑํ•ด๋ดค๋˜ ์ฝ”๋“œ๋“ค๊ณผ ๋‹ค๋ฅด๊ฒŒ ReactDOM.render๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์“ฐ์ธ๊ฒƒ์„ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€๋Š” ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ state๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด์„œ renderํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ ๋ฐ–์— ์—†์—ˆ๋Š”๋ฐ ReactDOM.renderํ•จ์ˆ˜๋Š” ๊ณผ์—ฐ ์–ด๋””์— ์“ฐ์ด๋Š” ๊ฒƒ์ผ๊นŒ?๋ผ๋Š” ๊ถ๊ธˆ์ฆ์— ์ด๊ณณ์ €๊ณณ์— ์ฐพ์•„๋ณด์•˜๋‹ค. renderํ•จ์ˆ˜์— ๋Œ€ํ•œ ๊ณต์‹๋ฌธ์„œ(ko.reactjs.org/docs/react-dom.html#render)๋ฅผ ๋ณด๊ฒŒ ๋˜์—ˆ์„ ๋•Œ, ReactDOM.renderํ•จ์ˆ˜๋Š” ์ตœ์‹ ์˜ React ์—˜๋ฆฌ๋จผํŠธ.. 2020. 12. 30.
๋ฐ˜์‘ํ˜•