React: Do it! ๋ฆฌ์กํธ ํ๋ก๊ทธ๋๋ฐ ์ ์
์ฑ
์ ์ฝ๊ธฐ์ ์์ Javascript
๋ฅผ ์ด๋ ์ ๋ ์๊ณ ์๊ฑฐ๋, ํน์ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ํ ์ค ์๋ค๋ฉด JavaScript ์ฌ์
๋ฌธํ๊ธฐ (JS โํํ ๋ฆฌ์ผ)๋ฅผ ํ ๋ฒ ์ฝ๊ณ ์ฑ
์ ์ฝ๋ ๊ฑธ ์ถ์ฒํ๋ค.
1์ฅ์์ ๊ฐ๋ฐํ๊ฒฝ์ ๊ตฌ์ฑํ ๋ ์ ๋ง ๊ผผ๊ผผํ๋ค๊ณ ๋๊ผ๋ค. ํนํ VS Code
์ ํ๋ฌ๊ทธ์ธ ์ค์น์ ์ฌ์ฉ ๋ฐฉ๋ฒ, ์ค์ ์ ์๋ ค์ฃผ๋ ๊ฑด ์
๋ฌธ์ ์
์ฅ์ผ๋ก์จ ๊ฐ์ด๋๋ผ์ธ์ด ์์ด์ ์ข์๋ค. ์์์ด ๋ฐ์ด๋ค!
Do it! ๋ฆฌ์กํธ ํ๋ก๊ทธ๋๋ฐ ์ ์
์ ์ฝ์ผ๋ฉด์ ๊ฐ์ฅ ์ข์๋ ํํธ๋ 2์ฅ์ด์๋ค. ๋ค๋ฅธ ๋ฆฌ์กํธ ๋์๋ค์ ๋๋ถ๋ถ ES6
๋ฌธ๋ฒ์ ์๋กํ์ง ์๋๋ค. ๊ทธ์ ๋ฐํด ์ด ์ฑ
์ 2์ฅ์์ ES6
์ ์ฃผ์ ๋ฌธ๋ฒ์ด ์๋ก๋์ด์๋ค. ๋ฌธ๋ฒ์ ์ค๋ช
ํ ๋๋ ๊ธฐ์กด Javascript
๋ฐฉ๋ฒ์ ์ฝ๋์ ํจ๊ป ์ค๋ช
ํ๊ณ , ๊ทธ ํ์ ES6
๋ฌธ๋ฒ์ ํ์ฉํ ๋ฐฉ๋ฒ์ ์ค๋ช
ํ๋ค. ์ฝ๋ ๋น๊ต๋ฅผ ํตํด ์ด๋ค ์ ์ด ๋ฌ๋ผ์ก๋์ง ์ฝ๊ฒ ํ์
์ ํ ์ ์๋ค.
๊ฐ ์ฑํฐ์ ๋ง์ง๋ง ๋ถ๋ถ์๋ ์ง์ ๋ง๋ค๋ฉด์ ๋ณต์ตํ ์ ์์ด์ ์์ ๋ฐฐ์ด ๋ด์ฉ์ ๋ค์ ํ ๋ฒ ๋์ง์ ์ ์๋ค. ๋ณต์ต ์ฝ๋์๋ ๋ถ๋ถ ์ค๋ช ์ด ์์ด์ ์ธ์ฌํจ์ ๋๋ ์ ์์๋ค.
์ปดํฌ๋ํธ ์๋ช ์ฃผ๊ธฐ ๊ทธ๋ํ๋ ์์ฑ์๋ฃ-๊ฐฑ์ ์๋ฃ ๋ถ๋ถ์ด ๋๋ฌด ์ค๋ฐ์กฐ๋ฐํ๊ฒ ์๋ช ์ฃผ๊ธฐ ํจ์๊ฐ ๋ชจ์ฌ์์ด์ ๋ณด๊ธฐ ๋ถํธํ๋ค. ์ง๋ฉด์ ์ข ๋ ํ์ฉํด์ ํ์ํ์ผ๋ฉด ์ข์์ ๊ฑฐ ๊ฐ๋ค.
์ฑ
์ ์ฝ์ผ๋ฉด์ ์์ฌ์ ๋ ๋ถ๋ถ์ react-with-styles
๋ฅผ ์ฌ์ฉํ ๋ถ๋ถ์ด์๋ค. ๊ตฌ๊ธ๋ง์ ํด๋ ๊ด๋ จ ์๋ฃ๊ฐ ๋๋ฌด ์๋ค. ์๋ฌธ ์๋ฃ๋ ์ฐพ๊ธฐ๊ฐ ์ด๋ ต๊ณ , ํ๊ธ ์๋ฃ๋ ์์ ์์๋ค. ๐ฅ styled-components
์ ๋ํด์๋ ๋ค๋ค์ก์ผ๋ฉด ์ด๋ ์๊น ํ๋ ์๊ฐ์ด ๋ค์๋ค.
TDD
๋ ๋ค์ด๋ณด๊ธฐ๋ง ํ๊ณ ํ๋ฒ๋ ํด๋ณธ ์ ์ด ์์ด์ ์ด ๋ถ๋ถ๋ ์ฌ๋ฐ๊ฒ ์ฝ์๋ค. it()
๋ฌธ๋ฒ์ ๋ํ ์ค๋ช
์ด ์์ด์ ์์ผ๋ฉด ์ข์ ๊ฑฐ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ธ์ ์ผ๋ก ์ค์ตํ๋ฉด์ ๋ฑ ํ๊ฐ์ง ํด๊ฒฐ ๋ชปํ ๋ถ๋ถ์ด ์๋ค.
creat-react-app
์ ํ์ผ ์ด๋ฆ์ด.test.js
,.spec.js
๋ก ๋๋๋ ํ์ผ์ด๋src/__tests__
ํด๋์ ์์ฑ๋ ๋ชจ๋.js
,.jsx
ํ์ผ์ ํ ์คํธ ํ๊ฒฝ์์ ์คํ์ํต๋๋ค.
ํ
์คํธ ์์ฃผ ๊ฐ๋ฐ ๋ฐฉ๋ฒ ์ฌ์ฉํด ๋ณด๊ธฐ
ํํธ์์ ๋์์๋ ์ค๋ช
์ด๋ค. .test.jsx
๋ ์คํ์ด ๋๋๋ฐ ์ค์ต์์ ์ฃผ๋ก ์ฌ์ฉํ _spex.jsx
ํ์ผ๋ช
์ jest
๊ฐ ์ธ์์ ๋ชปํ๋ค. ํด๋ ์ ์ฒด๋ฅผ ์ธ์ํ๋ค๊ธธ๋ ์์ ๋ฌด๊ดํ ์ด๋ฆ์ผ๋ก ํ์ผ ์ด๋ฆ์ ์ง์ด๋ ์ธ์์ ๋ชปํด์ ๊ฒฐ๊ตญ .test.jsx
ํ์์ผ๋ก ์ ์ฅํด์ ํ
์คํ
ํ๋ค. ์ ๊ทธ๋ฐ๊ฑธ๊น...?๐
๋ฆฌ์กํธ ์์ํ๊ธฐ
๋ ํ๋ฃจ๋ฃฉ ์ฝํ๋๋ฐ ๋ฆฌ์กํธ ๊ณ ๊ธ ๊ธฐ์ ๋ฐ๋ผ ํ๊ธฐ
๋ถํฐ๋ ๋์ด๋๊ฐ ์ ๋ฒ ์์ด์ ์งง์ ์๊ฐ์์ ์ตํ๊ธฐ ๋ณด๋ค๋ ์๊ฐ์ ๋๊ณ ์ฒ์ฒํ ์ฝ์ผ๋ฉด์ ํ์ตํ๋ ๊ฒ ์ข์ ๊ฑฐ ๊ฐ๋ค.
๊ฐ์ ์ฝ์ธ ๊ฑฐ๋์๋ฅผ ์ง์ ๋ง๋ค๋ฉด์ ์ฑ
์ ํตํด ํ์ตํ ๋ฆฌ์กํธ ๊ธฐ์ ๋ค์ ํ์ฉํ ์ ์์ด์ ์ข์๋ค. ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค ๋ ์ด๋ ์ฅ์์ ๋ฐฐ์ด ๊ฑธ ํ์ฉํ๋ ์ง ์จ์ ธ์์ด์ ํด๋น ๋ถ๋ถ์ ์ฐพ์ ๋ณต์ตํ ๋ ์ฉ์ดํ๋ค. ๋ํ ์์์ ์ค์ตํ๋ฉด์ ๋ง๋ ์ปดํฌ๋ํธ๋ฅผ ์ฌํ์ฉํ๋ ๋ถ๋ถ(Modal
)์ ์ฝ์ผ๋ฉด์ ์ด๋์ ๋ฆฌ์กํธ๋ฅผ ์ฐ๋๊ฑด๊ฐ?
๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.
Do it! ๋ฆฌ์กํธ ํ๋ก๊ทธ๋๋ฐ ์ ์
์ ํ ์ด ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๋ฆฌ์กํธ๋ฅผ ํ์ตํ๊ณ ์ถ์ ๋ฆฌ์กํธ ์
๋ฌธ์์๊ฒ ์ถ์ฒํ๊ณ ์ถ๋ค.
์ด ๊ธ์ ์ด์ง์ค ํผ๋ธ๋ฆฌ์ฑ์์ ๋์๋ฅผ ์ ๊ณต๋ฐ์ ์์ฑ๋์์ต๋๋ค.
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote