WEB32 [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. [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. ์ด์ 1 2 3 4 5 6 ๋ค์ ๋ฐ์ํ